ORACLE 12C连接时报ORA28040和ORA01017的错误-阿里云开发者社区

开发者社区> 数据库> 正文

ORACLE 12C连接时报ORA28040和ORA01017的错误

简介: 【一】环境说明 1.1 Oracle服务端版本:12.2.0.1 1.2 Oracle客户端版本:11.2.0.1 【二】问题说明 2.1 客户端连接服务端的时候报ORA-28040的错误。

【一】环境说明

1.1 Oracle服务端版本:12.2.0.1
1.2 Oracle客户端版本:11.2.0.1

【二】问题说明

2.1 客户端连接服务端的时候报ORA-28040的错误。
2.2 客户端连接的时候报ORA-01017的错误。

【三】解决方法

3.1  ORA-28040错误的解决方法:
在数据库服务器上的oracle/network/admin/sqlnet.ora,增加如下
[oracle@rdb02 admin]$ cat sqlnet.ora
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
 然后重启监听即可
lsnrctl stop
lsnrctl start
3.2 客户端连接的时候报ORA-01017的错误的解决方法:
在上一步的基础上面,修改用户名密码即可; 
SQL> ALTER USER system IDENTIFIED BY 12345678;

【四】原因分析

4.1 关于ORA-28040的错误原因,转发个链接:http://blog.itpub.net/28612416/viewspace-2138896/
简单可以理解:sqlnet值没设定的情况下ORACLE 12C的服务端只运行12C的客户端进行连接,所以通过11版本的客户端连接的时候就会报ORA-28040的错误。通过增加以上参数就可以让ORACLE12C的服务端运行较低的客户端进行连接;

4.2 关于密码报ORA-01017错误的分析如下:
  • 数据库的密码是经过加密的,数据库经过几个版本的更新每个版本的加密方法其实都是不一样的。
  • dba_users有保存一个PASSWORD_VERSIONS的信息,PASSWORD_VERSIONS的信息说明数据库保留密码解析的版本种类。
  • 用户登录的时候就会根据Client端的版本判断用哪种的解析方法进行解密
  • 客户端的版本和PASSWORD_VERSIONS的版本匹配能解析,否则就解析不了;
SQL> select username,password,PASSWORD_VERSIONS from dba_users where username in ('SCOTT','SYSTEM')
USERNAME                PASSWORD              PASSWORD_VERSIONS
-------------------- --------------------  --------------------
SYSTEM                                           11G 12C             #要求客户端的版本最低为11.2.0.3
SCOTT                                           10G 11G 12C          #要求客户端的版本最低为10
4.3 PASSWORD_VERSIONS版本又是怎么产生的了?
PASSWORD_VERSIONS的生跟上面的sqlnet.ora的一个参数:SQLNET.ALLOWED_LOGON_VERSION_SERVER。SQLNET.ALLOWED_LOGON_VERSION_SERVER设置不同值,就产生对应的password_versions。
所以当SQLNET.ALLOWED_LOGON_VERSION_SERVER=8时,PASSWORD_VERSIONS对应的值就是10G 11G 12C
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8,PASSWORD_VERSIONS对应的值就是11G 12C

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章