密碼延遲驗出現大量library cache lock
昨天一業務系統在做資料遷移時,遷移完畢後,導致系統業務非常慢,資料一直查詢不出來。透過作業系統TOP命令檢視系統壓力,資料庫沒有任何壓力,非常空閒,後來懷疑是網路問題,於是遠端登入到主機上,使用資料庫使用者登入資料庫,發現其他資料庫使用者登入非常快,而該業務系統的使用的使用者登入非常緩慢,幾乎要等10多秒才能登陸上。
問題出現象後,透過v$session, gv$session_wait查詢等待事件,在資料庫中出現大量的library cache lock。而且username全部為空。
select * from gv$session_wait where event like 'library cache lock';
在v$session檢視中查詢library cache lock等待相關的會話資訊,發現username為空而且不是oracle後臺進行。這就是說這些會話還沒有連線到資料庫,一直在等待驗證狀態。
1.首先我是透過下面語句查詢的。
select sid,username,event,schemaname from v$session;
....................................
後來和同事分析了下,懷疑是不是oracle 11g 新特性密碼錯誤驗證延遲導致的。
This feature significantly decreases the number of passwords that an intruder would be able to try when attempting to log in. It is designed to prevent repeated attacks on password checking.
我們透過修改引數。遮蔽 了密碼錯誤驗證延遲EVENT="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1"
SQL> ALTER SYSTEM SET EVENT = ‘28401 TRACE NAME CONTEXT FOREVER, LEVEL 1’;
後來資料庫正常了。
我們也可以使用oerr ora 28401檢視密碼錯誤驗證延遲事件。
[oracle@test ~]$ oerr ora 28401
28401, 00000, "Event to disable delay after three failed login attempts"
// *Document: NO
// *Cause: N/A
// *Action: Set this event in your environment to disable the login delay
// which will otherwise take place after three failed login attempts.
// *Note: THIS IS NOT A USER ERROR NUMBER/MESSAGE. THIS DOES NOT NEED TO BE
// TRANSLATED OR DOCUMENTED.
總結:
導致這次錯誤的原因是應用系統在做資料遷移時,我業務使用者刪除了,drop user test cascade;把使用者相關的表一起刪除了,隨後建立了相同的使用者。在此期間應用一直沒停下來,應用系統一直在嘗試登陸資料庫,oracle 資料庫在11g的新特性中新增密碼錯誤後延遲驗證的功能,在密碼錯誤登陸次數過多後,使用者驗證延遲時間是遞增的,從開始的兩秒遞增到六秒,因此下次做資料遷移時,需要先停止應用系統,大家也不要嘗試著以錯誤的密碼過多的登陸資料庫。
補充從10g升級到11g之後需要注意的幾個密碼方面問題:
1. 11g預設開始密碼區分大小寫,可以透過把引數設定為SEC_CASE_SENSITIVE_LOGON =FALSE 遮蔽
2. 11g密碼預設有效期180天,可以透過修改ALTER PROFILE DEFAULT[根據實際的profile] LIMIT PASSWORD_LIFE_TIME UNLIMITED; 注意需要修改密碼生效
3. 密碼錯誤驗證延遲,可以透過設定EVENT="28401 TRACE NAME CONTEXT FOREVER, LEVEL 1" 遮蔽
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12798004/viewspace-1340295/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle 11g 密碼延遲認證與 library cache lock 等待Oracle密碼
- Oracle11g 密碼延遲認證導致library cache lock的情況分析Oracle密碼
- library cache lock和library cache bin實驗_2.0
- library cache pin和library cache lock(一)
- library cache pin和library cache lock (zt)
- library cache pin和library cache lock(二)
- ORACLE密碼錯誤驗證延遲Oracle密碼
- Library Cache最佳化篇(一)降低library cache lock和library cache pin的方法
- latch:library cache lock等待事件事件
- Oracle資料庫密碼延遲驗證Oracle資料庫密碼
- [20240920]跟蹤library cache lock library cache pin使用gdb.txt
- [20240824]跟蹤library cache lock library cache pin使用gdb.txt
- [20240827]分析為什麼出現library cache lock等待事件2.txt事件
- [20240828]分析為什麼出現library cache lock等待事件5.txt事件
- Library Cache 診斷:Lock, Pin 以及 Load Lock (文件 ID 1548524.1)
- 【TUNE_ORACLE】等待事件之“library cache lock”Oracle事件
- 一次library cache lock 問題分析
- [20241108]跟蹤library cache lock library cache pin使用gdb(11g)4.txt
- [20241108]跟蹤library cache lock library cache pin使用gdb(11g)3.txt
- [20241105]跟蹤library cache lock library cache pin使用gdb(11g)2.txt
- MySQL:雙主單寫 主庫偶爾出現大量延遲的原因MySql
- 【ASM_ORACLE】Library Cache最佳化篇(二)Library cache load lock的概念和解決辦法ASMOracle
- 批次錯誤使用者名稱與密碼導致業務使用者HANG住(library cache lock)密碼
- 【ASK_ORACLE】Library cache pin 與 library load lock的關係和區別Oracle
- 延遲密碼驗證特性引起的資料庫HANG死及當機密碼資料庫
- 從Mysql slave system lock延遲說開去MySql
- 徹底搞清楚library cache lock的成因和解決方法(轉)
- Exadata修改sshd密碼驗證方式 延遲10分鐘關閉 明明密碼對了卻登入不上密碼
- Oracle Library cacheOracle
- library cache pin(轉)
- 基於rabbitmq延遲外掛實現分散式延遲任務MQ分散式
- 實現簡單延遲佇列和分散式延遲佇列佇列分散式
- 如何在Mac 上關閉煩人的Caps Lock 延遲功能?Mac
- 如何在Mac 上關閉煩人的Caps Lock 延遲功能Mac
- RabbitMQ實現延遲佇列MQ佇列
- RabbitMQ 實現延遲佇列MQ佇列
- 【等待事件】library cache pin事件
- [20210301]延遲顯示輸出.txt
- php 實現golang defer延遲執行(先進後出)PHPGolang