ORA-01017从9i客户端连接到11g数据库时,用户名/密码无效

use*_*653 52 oracle oracle9i oracle11g

我正在尝试从具有9i(v9.2.0.1)客户端的PC连接到11g(v11.2.0.1.0)上的模式.它似乎可以很好地连接到一些模式,但不是这个模式 - 它ORA-01017 Invalid Username/Password每次都会返回错误.

用户名和密码是绝对正确的 - 任何人都可以想到为什么这不起作用的原因?

9i和11g之间是否有任何根本的不兼容性?

bak*_*048 42

用户和密码绝对不正确.Oracle 11g凭据区分大小写.

尝试ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; 并更改密码.

http://oracle-base.com/articles/11g/case-sensitive-passwords-11gr1.php

  • @ user1578653 oracle9i默认为大写,因为它不支持区分大小写.而不是将数据库更改为不敏感,您可以通过用双引号粘贴密码来连接,例如`sqlplus youruser /"Password"@db以传递混合大小写. (3认同)
  • 为什么在修改之后,我们应该修改密码? (2认同)
  • 在Windows上,当使用使用oracle.dataaccess 10g的C#应用​​程序连接到11g数据库时遇到此问题。两种技术都对我有用:1.使用密码引号。2.更改大小写敏感性。我还使用了C ++ / OO4O客户端和SQLPLUS,它们没有此问题。 (2认同)

the*_*Rod 12

我前段时间遇到过类似的问题.你必须小心引号和双引号.建议使用管理员凭据重置用户密码.

ALTER USER user_name IDENTIFIED BY new_password;
Run Code Online (Sandbox Code Playgroud)

但是不要在两个参数中使用双引号.


小智 11

对于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
Run Code Online (Sandbox Code Playgroud)

使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
Run Code Online (Sandbox Code Playgroud)


luc*_*ell 10

如果所有其他方法都失败了,请尝试将密码重置为相同的内容.我遇到此错误并无法解决它,但只是将密码重置为相同的值解决了问题.


Lay*_*ros 5

您可以使用 sqlplus 连接到 Oracle 数据库:

sqlplus "/as sysdba"
Run Code Online (Sandbox Code Playgroud)

然后创建新用户并分配权限。

grant all privileges to dac;
Run Code Online (Sandbox Code Playgroud)


ram*_*ram 5

Oracle 11 G 和 12 C 版本建议使用更复杂的密码,尽管在用户创建过程中没有问题。密码必须是字母数字和特殊字符。

验证用户的密码版本和状态:

select * from dba_users where username = <user_name>;
Run Code Online (Sandbox Code Playgroud)

如果是11G 12C则修改如下:

alter user <user_name> identified by Pass2019$;
Run Code Online (Sandbox Code Playgroud)

现在测试连接!