oracle 12c ORA-28040: No matching authentication protocol 处理办法
虽然在sqlnet.ora加SQLNET.ALLOWED_LOGON_VERSION=8 可以解决,但由于这个参数在12c已经废弃了,如果继续使用,会在alert/log.xml无穷无尽的报“Using deprecated SQLNET.ALLOWED_LOGON_VERSION parameter.”
因此,正确的做法是在$ORACLE_HOME/network/admin/sqlnet.ora加 “SQLNET.ALLOWED_LOGON_VERSION_SERVER=8”
oracle12c 废弃了SQLNET.ALLOWED_LOGON_VERSION而是用SQLNET.ALLOWED_LOGON_VERSION_CLIENT和SQLNET.ALLOWED_LOGON_VERSION_SERVER代替。
区别如下:
SQLNET.ALLOWED_LOGON_VERSION_SERVER:控制可以连接到12c数据库的客户端版本(client --->orace 12c db)
SQLNET.ALLOWED_LOGON_VERSION_CLIENT:控制12c数据库可以连到哪些版本的数据库(orace12c db --->其它版本的oracle db),例如:控制通过DB LINK可连接到哪些版本的oracle库。
特别需要注意:
(1)如果是RAC,因为RAC是使用grid的监听器,因此很多人以为是在“/u02/app/12.1.0/grid/network/admin/sqlnet.ora” 加“SQLNET.ALLOWED_LOGON_VERSION_SERVER=8”,其实这是错的,而是仍然在$ORACLE_HOME/network/admin/sqlnet.ora加“SQLNET.ALLOWED_LOGON_VERSION_SERVER=8”
(2) 上面所说的版本,是指dba_users.password_versions的版本。
官方参考文档:http://docs.oracle.com/database/121/NETRF/sqlnet.htm#NETRF2010
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。