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

时间:2023-01-22 23:52:28

I'm trying to connect to a schema on 11g (v11.2.0.1.0) from a PC with 9i (v9.2.0.1) client. It seems to connect fine to some schemas, but not this one - it comes back with a ORA-01017 Invalid Username/Password error every time.

我正在尝试连接11g (v11.2.0.1.0)上的模式,从一台PC上连接9i (v9.2.0.1)客户机。它似乎可以很好地连接到某些模式,但不是这个模式——每次返回时都会出现一个ORA-01017无效的用户名/密码错误。

The username and password are DEFINITELY correct - can anyone think of a reason why this wouldn't work?

用户名和密码是绝对正确的——谁能想出这个不能工作的原因吗?

Are there any fundamental incompatibilities between 9i and 11g?

9i和11g之间是否存在根本的不相容?

13 个解决方案

#1


33  

The user and password are DEFINITELY incorrect. Oracle 11g credentials are case sensitive.

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

Try ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; and alter password.

尝试修改系统设置sec_case_sensive_logon = FALSE;和修改密码。

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

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

#2


5  

If all else fails, try resetting the password to the same thing. I encountered this error and was unable to work around it, but simply resetting the password to the same value resolved the problem.

如果其他方法都失败了,请尝试将密码重置为相同的内容。我遇到了这个错误,无法解决它,但是简单地将密码重新设置为相同的值就解决了这个问题。

#3


5  

for oracle version 12.2.x users cannot login using case insensitive passwords, even though SEC_CASE_SENSITIVE_LOGON = FALSE if PASSWORD_VERSIONS of user is not 10g.

对于oracle 12.2版本。x用户不能使用不区分大小写的密码登录,即使sec_case_sensive_logon = FALSE,如果用户的PASSWORD_VERSIONS不是10g。

following sql should show the PASSWORD_VERSIONS for a user.

下面的sql应该显示用户的PASSWORD_VERSIONS。

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              11G 12C

to make PASSWORD_VERSIONS compatible with 10g

使PASSWORD_VERSIONS与10g兼容

add/modify line in sqlnet.ora of database to have SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 restart database change/expire password for existing user new users created will also have same settings after above steps PASSWORD_VERSIONS should be something like this

添加/修改sqlnet。数据库的ora具有SQLNET。ALLOWED_LOGON_VERSION_SERVER=8重新启动数据库更改/过期密码,新创建的现有用户的密码也会有相同的设置

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              10G 11G 12C

#4


4  

I had a similar issue some time ago. You must be careful with quotes and doble quotes. It's recommended to reset the user password, using a admin credentials.

不久前我也遇到过类似的问题。你必须小心使用引号和doble引号。建议使用管理凭证重置用户密码。

ALTER USER user_name IDENTIFIED BY new_password;

But don't use doble quotes in both parameters.

但是不要在两个参数中都使用doble引号。

#5


2  

I had the same error, but while I was connected and other previous statements in a script ran fine before! (So the connection was already open and some successful statements ran fine in auto-commit mode) The error was reproducable for some minutes. Then it had just disappeared. I don't know if somebody or some internal mechanism did some maintenance work or similar within this time - maybe.

我也有同样的错误,但是当我连接时,脚本中的其他语句以前运行得很好!(因此连接已经打开,一些成功的语句在自动提交模式下运行良好)错误可以繁殖几分钟。然后它就消失了。我不知道是否有人或内部机构在这段时间内做了一些维护工作或类似的工作——也许。

Some more facts of my env:

关于我的环境的更多事实:

  • 11.2
  • 11.2
  • connected as: sys as sysdba
  • 连接为:sys as sysdba
  • operations involved ... reading from all_tables, all_views and granting select on them for another user
  • 业务涉及……读取all_tables、all_views并为另一个用户授予select

#6


1  

I had the same issue and put double quotes around the username and password and it worked: create public database link "opps" identified by "opps" using 'TEST';

我也有同样的问题,并在用户名和密码的周围加上双引号,这是有效的:创建公共数据库链接“opps”,使用“测试”来识别“opps”;

#7


1  

I am not an expert. If you are getting ORA-01017 while trying to connect HR schema from SQL Developer in Oracle 11g Please try to unlock the HR as follows

我不是专家。如果您正在尝试连接Oracle 11g中的SQL Developer的HR模式时获得ORA-01017,请尝试解锁HR,如下所示

alter user HR identified by hr DEFAULT tablespace users temporary tablespace temp account unlock;

修改HR默认表空间用户识别的用户HR临时表空间temp账户解锁;

#8


0  

The tip on Oracle's OTN = Don't type your password in TOAD when you try to connect and let it popup a dialog box for your password. Type the password in there and it will work. Not sure what they've done in TOAD with passwords but that is a workaround. It has to do with case sensitive passwords in 11g. I think if you change the password to all upper case it will work with TOAD. https://community.oracle.com/thread/908022

Oracle的OTN =当您尝试连接时,不要在TOAD中键入密码,并让它弹出一个对话框来获取您的密码。输入密码就可以了。我不知道他们在癞蛤蟆身上用密码做了什么,但这是一个解决办法。它与11g的大小写敏感密码有关。我想如果你把密码换成大写字母,就可以和蛤蟆合作了。https://community.oracle.com/thread/908022

#9


0  

I also got the same sql error message when connecting through odp.net via a Proxy User.

当通过odp.net通过代理用户连接时,我也得到了相同的sql错误消息。

My error was that my user was created with quotation marks (e.g. "rockerolf") and I then also had to specify my user in the connectionstring as User Id=\"rockerolf\"..

我的错误在于我的用户是用引号创建的。然后我还必须在connectionstring中指定我的用户为用户Id=\“rockerolf\”。

In the end I ended up deleting the user with the quotation marks and create a new one without..

最后,我用引号将用户删除,并创建一个新的。

face palm

面对棕榈

#10


0  

You may connect to Oracle database using sqlplus:

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

sqlplus "/as sysdba"

Then create new users and assign privileges.

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

grant all privileges to dac;

#11


0  

I know this post was about 11g, but bug in the 12c client with how it encrypts passwords may be to blame for this error if you decide to use that one and you:

我知道这篇文章大约是11g,但是如果你决定使用12c客户端的密码加密方式,你可能要为这个错误负责。

  • Don't have the password case-sensitivity issue (i.e. you tried ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE and resetting the password and still doesn't work),
  • 不存在密码大小写敏感问题(例如,您尝试了ALTER SYSTEM SET sec_case_sensive_logon = FALSE并重新设置密码,但仍然无效),
  • Put quotes around your password in your connection string and it still doesn't help,
  • 在你的连接字符串中加上引号仍然没有帮助,
  • You've verified all of your environmental variables (ORACLE_HOME, PATH, TNS_ADMIN), and the TNS_ADMIN registry string at HKLM\Software\Oracle\KEY_OraClient12Home is in place,
  • 您已经验证了所有的环境变量(ORACLE_HOME, PATH, TNS_ADMIN),以及HKLM\软件\Oracle\KEY_OraClient12Home的TNS_ADMIN注册字符串。
  • You've verified your connection string and user name/password combination works in Net Manager, and
  • 您已经验证了您的连接字符串和用户名/密码组合在Net Manager和
  • You can connect using SQL*Plus, Oracle SQL Developer using the same credentials.
  • 您可以使用SQL*Plus、Oracle SQL Developer使用相同的凭据进行连接。

All the basic checks.

所有的基本检查。

Fix: Try setting HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled to 0 in the registry (regedit) to disable FIPS.

修复:尝试在注册表(regedit)中将HKLM\系统\CurrentControlSet\ \Control\Lsa\算法策略\设置为0以禁用FIPS。

Oracle.ManagedDataAccess and ORA-01017: invalid username/password; logon denied

Oracle。ManagedDataAccess和ORA-01017:无效的用户名/密码;登录了

ORA-01005 error connecting with ODP.Net

ORA-01005连接ODP.Net错误

https://community.oracle.com/thread/2557592?start=0&tstart=0

https://community.oracle.com/thread/2557592?start=0&tstart=0

https://dba.stackexchange.com/questions/142085/ora-01017-invalid-username-passwordlogon-denied/142149#142149

https://dba.stackexchange.com/questions/142085/ora - 01017无效的用户名- passwordlogon denied/142149 # 142149

#12


0  

I had a similar problem recently with Oracle 12c. I created a new user with a lower case password and was able to login fine from the database server but all clients failed with an ORA-01017. The fix turned out to be simple in the end (reset the password to upper case) but took a lot of frustrating effort to get there.

我最近在Oracle 12c上遇到了类似的问题。我用小写密码创建了一个新用户,可以从数据库服务器登录,但所有客户端都失败了。最后,修复工作变得很简单(将密码重置为大写),但却花费了很多令人沮丧的努力。

#13


0  

Credentials may be correct and something else wrong. I based my pluggable DB connection string on its container DB. Instead of the original parent.example.com service name the correct appeared to be pluggable.example.com.

凭证可能是正确的,也可能有其他错误。我将可插入的DB连接字符串基于它的容器DB。正确的名字不是原来的parent.example.com服务名,而是pluggable.example.com。

#1


33  

The user and password are DEFINITELY incorrect. Oracle 11g credentials are case sensitive.

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

Try ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE; and alter password.

尝试修改系统设置sec_case_sensive_logon = FALSE;和修改密码。

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

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

#2


5  

If all else fails, try resetting the password to the same thing. I encountered this error and was unable to work around it, but simply resetting the password to the same value resolved the problem.

如果其他方法都失败了,请尝试将密码重置为相同的内容。我遇到了这个错误,无法解决它,但是简单地将密码重新设置为相同的值就解决了这个问题。

#3


5  

for oracle version 12.2.x users cannot login using case insensitive passwords, even though SEC_CASE_SENSITIVE_LOGON = FALSE if PASSWORD_VERSIONS of user is not 10g.

对于oracle 12.2版本。x用户不能使用不区分大小写的密码登录,即使sec_case_sensive_logon = FALSE,如果用户的PASSWORD_VERSIONS不是10g。

following sql should show the PASSWORD_VERSIONS for a user.

下面的sql应该显示用户的PASSWORD_VERSIONS。

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              11G 12C

to make PASSWORD_VERSIONS compatible with 10g

使PASSWORD_VERSIONS与10g兼容

add/modify line in sqlnet.ora of database to have SQLNET.ALLOWED_LOGON_VERSION_SERVER=8 restart database change/expire password for existing user new users created will also have same settings after above steps PASSWORD_VERSIONS should be something like this

添加/修改sqlnet。数据库的ora具有SQLNET。ALLOWED_LOGON_VERSION_SERVER=8重新启动数据库更改/过期密码,新创建的现有用户的密码也会有相同的设置

select USERNAME,ACCOUNT_STATUS,PASSWORD_VERSIONS from dba_users;
USERNAME          ACCOUNT_STATUS    PASSWORD_VERSIONS 
---------------   --------------    -----------------
dummyuser         OPEN              10G 11G 12C

#4


4  

I had a similar issue some time ago. You must be careful with quotes and doble quotes. It's recommended to reset the user password, using a admin credentials.

不久前我也遇到过类似的问题。你必须小心使用引号和doble引号。建议使用管理凭证重置用户密码。

ALTER USER user_name IDENTIFIED BY new_password;

But don't use doble quotes in both parameters.

但是不要在两个参数中都使用doble引号。

#5


2  

I had the same error, but while I was connected and other previous statements in a script ran fine before! (So the connection was already open and some successful statements ran fine in auto-commit mode) The error was reproducable for some minutes. Then it had just disappeared. I don't know if somebody or some internal mechanism did some maintenance work or similar within this time - maybe.

我也有同样的错误,但是当我连接时,脚本中的其他语句以前运行得很好!(因此连接已经打开,一些成功的语句在自动提交模式下运行良好)错误可以繁殖几分钟。然后它就消失了。我不知道是否有人或内部机构在这段时间内做了一些维护工作或类似的工作——也许。

Some more facts of my env:

关于我的环境的更多事实:

  • 11.2
  • 11.2
  • connected as: sys as sysdba
  • 连接为:sys as sysdba
  • operations involved ... reading from all_tables, all_views and granting select on them for another user
  • 业务涉及……读取all_tables、all_views并为另一个用户授予select

#6


1  

I had the same issue and put double quotes around the username and password and it worked: create public database link "opps" identified by "opps" using 'TEST';

我也有同样的问题,并在用户名和密码的周围加上双引号,这是有效的:创建公共数据库链接“opps”,使用“测试”来识别“opps”;

#7


1  

I am not an expert. If you are getting ORA-01017 while trying to connect HR schema from SQL Developer in Oracle 11g Please try to unlock the HR as follows

我不是专家。如果您正在尝试连接Oracle 11g中的SQL Developer的HR模式时获得ORA-01017,请尝试解锁HR,如下所示

alter user HR identified by hr DEFAULT tablespace users temporary tablespace temp account unlock;

修改HR默认表空间用户识别的用户HR临时表空间temp账户解锁;

#8


0  

The tip on Oracle's OTN = Don't type your password in TOAD when you try to connect and let it popup a dialog box for your password. Type the password in there and it will work. Not sure what they've done in TOAD with passwords but that is a workaround. It has to do with case sensitive passwords in 11g. I think if you change the password to all upper case it will work with TOAD. https://community.oracle.com/thread/908022

Oracle的OTN =当您尝试连接时,不要在TOAD中键入密码,并让它弹出一个对话框来获取您的密码。输入密码就可以了。我不知道他们在癞蛤蟆身上用密码做了什么,但这是一个解决办法。它与11g的大小写敏感密码有关。我想如果你把密码换成大写字母,就可以和蛤蟆合作了。https://community.oracle.com/thread/908022

#9


0  

I also got the same sql error message when connecting through odp.net via a Proxy User.

当通过odp.net通过代理用户连接时,我也得到了相同的sql错误消息。

My error was that my user was created with quotation marks (e.g. "rockerolf") and I then also had to specify my user in the connectionstring as User Id=\"rockerolf\"..

我的错误在于我的用户是用引号创建的。然后我还必须在connectionstring中指定我的用户为用户Id=\“rockerolf\”。

In the end I ended up deleting the user with the quotation marks and create a new one without..

最后,我用引号将用户删除,并创建一个新的。

face palm

面对棕榈

#10


0  

You may connect to Oracle database using sqlplus:

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

sqlplus "/as sysdba"

Then create new users and assign privileges.

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

grant all privileges to dac;

#11


0  

I know this post was about 11g, but bug in the 12c client with how it encrypts passwords may be to blame for this error if you decide to use that one and you:

我知道这篇文章大约是11g,但是如果你决定使用12c客户端的密码加密方式,你可能要为这个错误负责。

  • Don't have the password case-sensitivity issue (i.e. you tried ALTER SYSTEM SET SEC_CASE_SENSITIVE_LOGON = FALSE and resetting the password and still doesn't work),
  • 不存在密码大小写敏感问题(例如,您尝试了ALTER SYSTEM SET sec_case_sensive_logon = FALSE并重新设置密码,但仍然无效),
  • Put quotes around your password in your connection string and it still doesn't help,
  • 在你的连接字符串中加上引号仍然没有帮助,
  • You've verified all of your environmental variables (ORACLE_HOME, PATH, TNS_ADMIN), and the TNS_ADMIN registry string at HKLM\Software\Oracle\KEY_OraClient12Home is in place,
  • 您已经验证了所有的环境变量(ORACLE_HOME, PATH, TNS_ADMIN),以及HKLM\软件\Oracle\KEY_OraClient12Home的TNS_ADMIN注册字符串。
  • You've verified your connection string and user name/password combination works in Net Manager, and
  • 您已经验证了您的连接字符串和用户名/密码组合在Net Manager和
  • You can connect using SQL*Plus, Oracle SQL Developer using the same credentials.
  • 您可以使用SQL*Plus、Oracle SQL Developer使用相同的凭据进行连接。

All the basic checks.

所有的基本检查。

Fix: Try setting HKLM\System\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy\Enabled to 0 in the registry (regedit) to disable FIPS.

修复:尝试在注册表(regedit)中将HKLM\系统\CurrentControlSet\ \Control\Lsa\算法策略\设置为0以禁用FIPS。

Oracle.ManagedDataAccess and ORA-01017: invalid username/password; logon denied

Oracle。ManagedDataAccess和ORA-01017:无效的用户名/密码;登录了

ORA-01005 error connecting with ODP.Net

ORA-01005连接ODP.Net错误

https://community.oracle.com/thread/2557592?start=0&tstart=0

https://community.oracle.com/thread/2557592?start=0&tstart=0

https://dba.stackexchange.com/questions/142085/ora-01017-invalid-username-passwordlogon-denied/142149#142149

https://dba.stackexchange.com/questions/142085/ora - 01017无效的用户名- passwordlogon denied/142149 # 142149

#12


0  

I had a similar problem recently with Oracle 12c. I created a new user with a lower case password and was able to login fine from the database server but all clients failed with an ORA-01017. The fix turned out to be simple in the end (reset the password to upper case) but took a lot of frustrating effort to get there.

我最近在Oracle 12c上遇到了类似的问题。我用小写密码创建了一个新用户,可以从数据库服务器登录,但所有客户端都失败了。最后,修复工作变得很简单(将密码重置为大写),但却花费了很多令人沮丧的努力。

#13


0  

Credentials may be correct and something else wrong. I based my pluggable DB connection string on its container DB. Instead of the original parent.example.com service name the correct appeared to be pluggable.example.com.

凭证可能是正确的,也可能有其他错误。我将可插入的DB连接字符串基于它的容器DB。正确的名字不是原来的parent.example.com服务名,而是pluggable.example.com。