我正在尝试从带有 9i (v9.2.0.1) 客户端的 PC 连接到 11g (v11.2.0.1.0) 上的架构。它似乎可以很好地连接到某些模式,但不是这个 - 它ORA-01017 Invalid Username/Password
每次都会返回错误。
用户名和密码绝对正确 - 谁能想到这不起作用的原因?
9i 和 11g 之间是否存在根本性的不兼容?
用户名和密码肯定不正确。Oracle 11g 凭据区分大小写。
尝试 ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; 并更改密码。
http://oracle-base.com/articles/11g/case-sensitive-passwords-11gr1.php
对于 oracle 版本 12.2.x,用户无法使用不区分大小写的密码登录,即使 SEC_CASE_SENSITIVE_LOGON = FALSE 如果用户的 PASSWORD_VERSIONS 不是 10g。
以下 sql 应显示用户的 PASSWORD_VERSIONS。
select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME ACCOUNT_STATUS PASSWORD_VERSIONS
--------------- -------------- -----------------
dummyuser OPEN 11G 12C
使 PASSWORD_VERSIONS 与 10g 兼容
在数据库的 sqlnet.ora 中添加/修改行以使 SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 重新启动数据库 更改/过期现有用户的密码 创建的新用户在上述步骤之后也将具有相同的设置 PASSWORD_VERSIONS 应该是这样的
select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME ACCOUNT_STATUS PASSWORD_VERSIONS
--------------- -------------- -----------------
dummyuser OPEN 10G 11G 12C
前段时间我有一个类似的问题。您必须小心使用引号和双引号。建议使用管理员凭据重置用户密码。
ALTER USER user_name IDENTIFIED BY new_password;
但不要在两个参数中使用双引号。
如果一切都失败了,请尝试将密码重置为相同的内容。我遇到了这个错误并且无法解决它,但只需将密码重置为相同的值即可解决问题。
您可以使用 sqlplus 连接到 Oracle 数据库:
sqlplus "/as sysdba"
然后创建新用户并分配权限。
grant all privileges to dac;
我不是专家。如果在 Oracle 11g 中尝试从 SQL Developer 连接 HR 模式时遇到 ORA-01017 请尝试按如下方式解锁 HR
更改由 hr DEFAULT 标识的用户 HR DEFAULT 表空间用户临时表空间临时帐户解锁;
我遇到了同样的错误,但是当我连接时,脚本中的其他先前语句之前运行良好!(因此连接已经打开,并且一些成功的语句在自动提交模式下运行良好)该错误可以重现几分钟。然后它就消失了。我不知道是否有人或某些内部机制在这段时间内做了一些维护工作或类似的工作——也许吧。
我的环境的更多事实:
sys as sysdba
all_tables
,all_views
并授予对它们的选择以供其他用户使用我遇到了同样的问题,并在用户名和密码周围加上了双引号,它起作用了:使用“TEST”创建由“opps”标识的公共数据库链接“opps”;
Oracle 11 G 和 12 C 版本建议使用更复杂的密码,虽然在用户创建过程中没有问题。密码必须是字母数字并带有特殊字符。
验证用户的密码版本和状态:
select * from dba_users where username = <user_name>;
在 11G 12C 的情况下修改如下:
alter user <user_name> identified by Pass2019$;
现在测试连接!
我最近在使用 Oracle 12c 时也遇到了类似的问题。在我更改了使用的 ojdbc jar 的版本后,它得到了解决。将 ojdbc14 替换为 ojdbc6 jar。
关于 Oracle 的 OTN 的提示 = 当您尝试连接时不要在 TOAD 中输入您的密码,并让它弹出 一个输入密码的对话框。在那里输入密码,它将起作用。不确定他们在 TOAD 中使用密码做了什么,但这是一种解决方法。它与 11g 中区分大小写的密码有关。我认为如果您将密码更改为全部大写,它将适用于 TOAD。 https://community.oracle.com/thread/908022
通过代理用户通过 odp.net 连接时,我也收到了相同的 sql 错误消息。
我的错误是我的用户是用引号创建的(例如“rockerolf”),然后我还必须在连接字符串中将我的用户指定为 User Id=\"rockerolf\"..
最后我最终删除了带引号的用户并创建了一个没有..
掌心
我知道这篇文章是关于 11g 的,但是如果你决定使用那个,那么 12c 客户端中的一个关于它如何加密密码的错误可能是造成这个错误的罪魁祸首:
ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE
并重置密码但仍然无效),ORACLE_HOME
, PATH
, TNS_ADMIN
),并且TNS_ADMIN
注册表字符串HKLM\Software\Oracle\KEY_OraClient12Home
已经到位,所有基本检查。
修复:尝试在注册表 (regedit) 中设置HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled
为0
禁用 FIPS。
Oracle.ManagedDataAccess 和 ORA-01017:用户名/密码无效;登录被拒绝
https://community.oracle.com/thread/2557592?start=0&tstart=0
我最近在使用 Oracle 12c 时遇到了类似的问题。我使用小写密码创建了一个新用户,并且能够从数据库服务器正常登录,但所有客户端都失败并出现 ORA-01017。最终修复结果很简单(将密码重置为大写),但需要付出很多令人沮丧的努力才能到达那里。
凭据可能是正确的,而其他一些错误。我将我的可插拔数据库连接字符串基于其容器 DB。而不是原来的parent.example.com
服务名称,正确的似乎是pluggable.example.com
.
在我的情况下,使用 oracle 数据库tableplus build 373 on my m1 device
在另一个文本编辑器中copy and paste
输入用户名和密码,在 tableplus 中输入用户名和密码。当我键入时in tableplus the text automatically changes to lowercase
。因为我对 sqldeveloper 没有任何问题,但是在尝试 tableplus 时它总是拒绝,现在我已经解决了。我不知道为什么它在应用程序或其他方面存在问题,但我已经通过诀窍解决了。