DBA日記之?dāng)?shù)據(jù)庫(kù)頻繁錯(cuò)誤密碼登錄
今天客戶核心系統(tǒng)數(shù)據(jù)庫(kù),早上九點(diǎn)左右,出現(xiàn)卡慢的現(xiàn)象,伴隨有登錄超時(shí)的現(xiàn)象,趕緊登錄到數(shù)據(jù)庫(kù), 收集了AWR報(bào)告,發(fā)現(xiàn)有大量library cache lock等待事件,通過AWR分析和現(xiàn)場(chǎng)項(xiàng)目經(jīng)理溝通,發(fā)現(xiàn)是有一個(gè)業(yè)務(wù)系統(tǒng)在用錯(cuò)誤的密碼在頻繁登錄數(shù)據(jù)庫(kù)導(dǎo)致, 具體的分析如下:
TOP 10等待事件,有大量 library cache lock
wait分類里,排名第一的是并發(fā)
事件模型統(tǒng)計(jì),顯示大量連接管理耗時(shí)
PLSQL登錄數(shù)據(jù)庫(kù),通過審計(jì)信息可以發(fā)現(xiàn)有大量失敗的登錄信息,如登錄ip, 機(jī)器名,用戶名等。
在 Oracle 11g 中,為了提升安全性,Oracle 引入了『密碼延遲驗(yàn)證』的新特性。這個(gè)特性的作用是,如果用戶輸入了錯(cuò)誤的密碼嘗試登錄,那么隨著登錄錯(cuò)誤次數(shù)的增加,每次登錄前驗(yàn)證的時(shí)間也會(huì)增加,以此減緩可能對(duì)于數(shù)據(jù)庫(kù)重復(fù)的口令嘗試攻擊。但是對(duì)于正常的系統(tǒng),由于口令的更改,可能存在某些被遺漏的客戶端,不斷重復(fù)嘗試,從而引起數(shù)據(jù)庫(kù)內(nèi)部長(zhǎng)時(shí)間的 Library Cache Lock的等待。出現(xiàn)這種問題,時(shí)間模型Time Model 中會(huì)顯示 connection management call elapsed time 占據(jù)了主要的DB Time,這個(gè)等待直接表明是在建立數(shù)據(jù)庫(kù)連接時(shí)產(chǎn)生的。
這一類問題,可以通過以下命令關(guān)閉『密碼延遲驗(yàn)證』這個(gè)特性,從而消除此類影響,以下命令將修改設(shè)置在參數(shù)文件中:
ALTER SYSTEM SET EVENT ='28401 TRACE NAME CONTEXT FOREVER, LEVEL 1' SCOPE = SPFILE; 并重啟數(shù)據(jù)庫(kù)。
下一篇:DBCC CHECKD 手工修復(fù)和優(yōu)化數(shù)據(jù)庫(kù) 各種參數(shù)的用法說明