解決方案:
關於參數sqlnet.ora SQLNET有壹個常見的誤解。ALLOWED_LOGON_VERSION以及此參數如何影響oracle客戶機和oracle數據庫之間的連接。
此參數實際上指定了允許客戶端使用的身份驗證協議(例如Sha-1),而不是客戶端的實際版本。
例如:
SQLNET。ALLOWED_LOGON_VERSION=10
即使參數值暗示oracle數據庫版本10,內部檢查實際上是針對身份驗證協議“Sha-1”。
盡管參數值暗示Oracle版本10,但內部檢查實際上違反了身份驗證協議“SHA-1”。
在早期版本的Oracle中,這是壹對壹的關系,例如,特定版本的Oracle客戶端使用特定的身份驗證協議。
從Oracle 10g開始,不再是壹對壹的關系:Oracle 10g和Oracle 11g都使用SHA-1協議。Oracle 12g將使用SHA-2協議。
這意味著通過使用該參數,沒有辦法阻止10g的客戶端連接,只允許11g的客戶端連接,因為10g和11g使用相同的SHA-1協議。這也意味著兩個客戶端版本是同等安全的——試圖單獨阻止10g客戶端的連接,不會有任何安全上的好處。
此參數在文檔中不明確,因此創建了文檔錯誤11845659-sqlnet . allowed _ logon _ version needs cleaner文檔來修復此參數的描述。