Oracle 11g 密碼延遲認證與 library cache lock 等待

不一樣的天空w發表於2018-11-12

在 Oracle 11g 中,為了提升安全性,Oracle 引入了『密碼延遲驗證』的新特性。 這個特性的作用是,如果使用者輸入了錯誤的密碼嘗試登入,那麼隨著登入錯誤次數的增加,每次登入前驗證的時間也會增加,以此減緩可能對於資料庫重複的口令嘗試攻擊。

但是對於正常的系統,由於口令的更改,可能存在某些被遺漏的客戶端,不斷重複嘗試,從而引起資料庫內部長時間的 Library Cache Lock的等待,這種情形非常常見。

如果遇到這一類問題,可以透過Event 28401關閉這個特性,從而消除此類影響,以下命令將修改設定在引數檔案中:

ALTER SYSTEM SET EVENT = '28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE = SPFILE;

出現這類問題非常典型的AWR報告呈現如下,首先在 TOP 5 中,你可能看到顯著的 Library Cache Lock 的等待,以下範例來自11.2.0.3.0版本的真實情況:

Top5.jpg

在這類情況下,時間模型 - Time Model 中會顯示如下指標,其中 connection management call elapsed time 佔據了主要的DB Time,這個等待直接表明是在建立資料庫連線時產生的:

TimeModel.jpg

這類問題,在Oracle的11g中是常見和確定的,在MOS上可以找到相應的記錄:

  • High 'library cache lock' Wait Time Due to Invalid Login Attempts(1309738.1)

此外Oracle 11g開啟了密碼大小寫驗證,如果從Oracle 10g升級過來,需要特別的當心這個變化,透過初始化引數SEC_CASE_SENSITIVE_LOGON 可以來控制這個特性。

以上供參考。


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

相關文章