library cache lock等待事件

問題背景,客戶反饋DB服務器cpu異常高數據庫

 

1> 查看AWR報告安全

 

大量library cache lock等待服務器

 

大量library cache lock致使登錄hang住,時間所有消耗在了 connection management call elapsedsession

先查殺等待會話blog

select 'alter system kill session ''' || a.sid || ',' || serial# || ''';'事件

  from v$session ait

 where a.username='ECOLOGY' io

 AND a.STATUS='ACTIVE'    event

 and event in('library cache lock','library cache: mutex X')登錄

 

3> 

對於正常的系統,因爲密碼的更改,可能存在某些被遺漏的客戶端,不斷重複嘗試使用錯誤密碼登陸數據庫,

從而引發數據庫內部長時間的」library cache lock」或」row cache lock」的等待,這種情形很是常見。

這種現象在Oracle 10.2和11.1中體現的等待事件爲:」row cache lock」,而在Oracle 11.2中體現的等待事件爲:」library cache lock」。

 

在 Oracle 11g 中,爲了提高安全性,Oracle 引入了『密碼延遲驗證』的新特性。這個特性的做用是,若是用戶輸入了錯誤的密碼嘗試登陸,

那麼隨着登陸錯誤次數的增長,每次登陸前驗證的時間也會增長,以此減緩可能對於數據庫重複的口令嘗試攻擊。

(確實有錯誤的數據庫鏈接)

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

若是遇到這一類問題,能夠經過Event 28401關閉這個特性,從而消除此類影響,如下命令將修改設置在參數文件中:

 

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

相關文章
相關標籤/搜索