随着Oracle数据库版本的持续发布,大部分企业逐渐在生产环境使用12cR2(12.2.0.1,18c-12.2.0.2)。
数据库迁移或升级后,开发人员和运维遇到最常见的问题之一就是,使用Oracle 10g或11g早期版本的客户端无法正常连接12.2,使用Oracle 10g或11g早期版本的客户端的第三方工具和应用服务器(WAS,Weblogic)也无法正常连接12.2,Oracle SQL Developer可以正常连接,因为Oracle SQL Developer不依赖这些Oracle客户端。
使用Oracle 10g及11.2之前版本的Oracle客户端使用sqlplus命令行,依赖于这些客户端的第三方工具(plsql developer,toad)等连接Oracle12.2常见的报错:
ORA-28040: No matching authentication protocol
ORA-01017: invalid username/password
根据MOS给出的建议在$ORACLE_HOME/network/admin/ sqlnet.ora 文件中增加一下2行
SQLNET.ALLOWED_LOGON_VERSION_SERVER=10
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=10
12.2 中S QLNET.ALLOWED_LOGON_VERSION_SERVER 默认是12
修改sqlnet.ora文件后,ORA-28040报错没有了。ORA-01017报错依然存在。
[oracle@db12c ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Thu Feb 21 10:40:55 2019
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> col username for a20
SQL> col PASSWORD_VERSIONS for a10
SQL> set lines 200 pages 200
SQL> select username,password_versions from cdb_users;
USERNAME PASSWORD_VERSIONS
---------------------------------------- --------------------
SYS 11G 12C
SYSTEM 11G 12C
XS$NULL
DBSNMP 11G 12C
APPQOSSYS 11G 12C
GSMCATUSER 11G 12C
MDDATA 11G 12C
SYSBACKUP 11G 12C
REMOTE_SCHEDULER_AGENT
DBSFWUSER 11G 12C
GSMUSER 11G 12C
GGSYS 11G 12C
ANONYMOUS
SYSRAC 11G 12C
CTXSYS 11G 12C
OJVMSYS 11G 12C
SI_INFORMTN_SCHEMA 11G 12C
DVSYS
DVF
AUDSYS 11G 12C
GSMADMIN_INTERNAL 11G 12C
DIP 11G 12C
ORDPLUGINS 11G 12C
MDSYS 11G 12C
OLAPSYS 11G 12C
LBACSYS 11G 12C
SYSKM 11G 12C
ORDDATA 11G 12C
OUTLN 11G 12C
ORACLE_OCM 11G 12C
SYS$UMF 11G 12C
XDB 11G 12C
SYSDG 11G 12C
WMSYS 11G 12C
ORDSYS 11G 12C
SPATIAL_CSW_ADMIN_USR 11G 12C
SYS 11G 12C
SYSTEM 11G 12C
XS$NULL 11G
DBSNMP 11G 12C
APPQOSSYS 11G 12C
GSMCATUSER 11G 12C
MDDATA 11G 12C
SYSBACKUP 11G 12C
REMOTE_SCHEDULER_AGENT
DBSFWUSER 11G 12C
GSMUSER 11G 12C
GGSYS 11G 12C
ANONYMOUS
SYSRAC 11G 12C
HR 11G 12C
CTXSYS 11G 12C
BI 11G 12C
OJVMSYS 11G 12C
SI_INFORMTN_SCHEMA 11G 12C
DVSYS 11G
DVF 11G
AUDSYS 11G 12C
GSMADMIN_INTERNAL 11G 12C
DIP 11G 12C
ORDPLUGINS 11G 12C
OE 11G 12C
PM 11G 12C
MDSYS 11G 12C
OLAPSYS 11G 12C
LBACSYS 11G 12C
SYSKM 11G 12C
ORDDATA 11G 12C
OUTLN 11G 12C
ORACLE_OCM 11G 12C
SYS$UMF 11G 12C
PDBHRADMIN 11G 12C
XDB 11G 12C
IX 11G 12C
SYSDG 11G 12C
WMSYS 11G 12C
ORDSYS 11G 12C
SPATIAL_CSW_ADMIN_USR 11G 12C
SH 11G 12C
79 rows selected.
在12.2数据库服务端使用alter user再修改一次密码,10g及11.2以前客户端可以正常连接12.2
SQL> alter user username identified by password ;
User altered.
另外,建议生产进行升级时应用程序和Oralce客户端也应该同时升级。
从上图可以看出,12.2支持11.2以上的客户端。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/28373936/viewspace-2636543/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/28373936/viewspace-2636543/