天天看點

DBA日記之資料庫頻繁錯誤密碼登入

作者:執着的花貓Jp

今天客戶核心系統資料庫,早上九點左右,出現卡慢的現象,伴随有登入逾時的現象,趕緊登入到資料庫, 收集了AWR報告,發現有大量library cache lock等待事件,通過AWR分析和現場項目經理溝通,發現是有一個業務系統在用錯誤的密碼在頻繁登入資料庫導緻, 具體的分析如下:

資料庫AWR報告

DBA日記之資料庫頻繁錯誤密碼登入

TOP 10等待事件,有大量 library cache lock

DBA日記之資料庫頻繁錯誤密碼登入

wait分類裡,排名第一的是并發

DBA日記之資料庫頻繁錯誤密碼登入

事件模型統計,顯示大量連接配接管理耗時

DBA日記之資料庫頻繁錯誤密碼登入

PLSQL登入資料庫,通過審計資訊可以發現有大量失敗的登入資訊,如登入ip, 機器名,使用者名等。

DBA日記之資料庫頻繁錯誤密碼登入

問題分析

在 Oracle 11g 中,為了提升安全性,Oracle 引入了『密碼延遲驗證』的新特性。這個特性的作用是,如果使用者輸入了錯誤的密碼嘗試登入,那麼随着登入錯誤次數的增加,每次登入前驗證的時間也會增加,以此減緩可能對于資料庫重複的密碼嘗試攻擊。但是對于正常的系統,由于密碼的更改,可能存在某些被遺漏的用戶端,不斷重複嘗試,進而引起資料庫内部長時間的 Library Cache Lock的等待。出現這種問題,時間模型Time Model 中會顯示 connection management call elapsed time 占據了主要的DB Time,這個等待直接表明是在建立資料庫連接配接時産生的。

解決方案

這一類問題,可以通過以下指令關閉『密碼延遲驗證』這個特性,進而消除此類影響,以下指令将修改設定在參數檔案中:

ALTER SYSTEM SET EVENT ='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE = SPFILE; 并重新開機資料庫。

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

繼續閱讀