Oracle 12C数据库链接报错:ORA-28040: 没有匹配的验证协议

ORA-28040: 没有匹配的验证协议

虽然在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
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8

区别如下:
SQLNET.ALLOWED_LOGON_VERSION_SERVER:控制可以连接到12c数据库的客户端版本(client —>orace 12c db )
SQLNET.ALLOWED_LOGON_VERSION_CLIENT:控制12c数据库可以连到哪些版本的数据库(orace 12c db —>其它版本的oracle db),例如:控制通过DB LINK可连接到哪些版本的oracle库。

特别需要注意:
如果是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”

除以上方式外,可以通过更新Oracle数据库链接驱动,例如使用ojdbc链接方式可更新Oracle官方网站最新的ojdbc启动。

你可能感兴趣的:(Oracle,RAC)