oracle11g客户端连接12c服务器ORA-01017错误
1、环境:
客户端:11g Release 11.2.0.1.0
服务器:Release 12.2.0.1.0
ora-01017是用户登录的报错 。
oerr ora 01017
01017, 00000, "invalid username/password; logon denied"
// *Cause:
// *Action:
2、排查过程:
(1)检查sqlnet.ora
增加兼容性参数,兼容11g ,也登录报同样的错误。
再次修改兼容性参数,向下兼容10g ,依然报错。
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10 SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
(2)通过12c的客户端访问12c数据库
可以访问,验证网络正常,防火墙端口开启。
(3)检查用户访问信息
连接到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL> select username, account_status,password_versions from dba_users where account_status='OPEN'; USERNAME -------------------------------------------------------------------------------- ACCOUNT_STATUS PASSWORD_VERSIONS -------------------------------- ----------------- SYS OPEN 11G 12C SYSTEM OPEN 11G 12C
可以看到默认支持11G 12C两个版本登录 。
3、 问题解决
用sys用户登录,分别修改sys和system的密码
alter user system identified by XXXXXXXXX; alter user sys identified by XXXXXXXXX;
再次查询用户登录信息
SQL> select username, account_status,password_versions from dba_users where account_status='OPEN'; USERNAME -------------------------------------------------------------------------------- ACCOUNT_STATUS PASSWORD_VERSIONS -------------------------------- ----------------- SYS OPEN 10G 11G 12C SYSTEM OPEN 10G 11G 12C
可以看到,修改完密码后,两个用户有三个版本支持,10G 11G 12C 。
再次用11g客户端登录12c数据库服务器:
SQL*Plus: Release 11.2.0.1.0 Production on Tue Jun 20 10:33:30 2023 Copyright (c) 1982, 2010, Oracle. All rights reserved. Connected to: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production SQL>
访问成功!!!
4、小结
原来在使用oracle10G/oracle11G的客户端或者服务端连接oracle12c数据库时,会提示以下错误:
ORA-28040: No matching authentication protocol
修改sqlnet.ora文件,增加兼容性参数,就可以解决。
如果兼容性参数增加后,登录访问报01017错误:
ERROR:
ORA-01017: invalid username/password; logon denied
通过修改密码,使得用户 PASSWORD_VERSIONS的兼容版本10G 11G 12C ,可以正常访问。