oracle 12c ORA-28040: No matching authentication protocol 處理辦法

gxlineji發表於2016-11-18

雖然在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資料庫可以連到哪些版本的資料庫(orace 12c 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的版本。

官方參考文件:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10995764/viewspace-2128707/,如需轉載,請註明出處,否則將追究法律責任。

相關文章