11gR2修改使用者後導致系統HANG住
【背景】今天中午的時候使用者反饋需要修改資料庫的和應用的連線密碼,修改密碼這種小事情,本以為不會不會出現問題的。沒想到午休到一半的時候就接到使用者的電話,系統連線不進去了。
【環境】
- 作業系統 linux6.3_64
- 資料庫版本11.2.0.3
【症狀】使用者修改密碼之後透過應用連線一直連線不上,我登入主機透過sqlplus連線的時候,也是一直處於hang住狀態,但是sys、system使用者進行連線的時候速度就很快;
[oracle@ekpdbtest ~]$ sqlplus / as sysdba (資料庫可以正常登入) SQL*Plus: Release 11.2.0.1.0 Production on Fri Apr 10 17:37:42 2015 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to: SQL> SQL> conn sale/oracle (HANG住了) |
【備註】作業系統的CPU、記憶體、網路、磁碟空間都沒有發現異常;
1、檢視等待事件
透過檢視awr報告,library cache lock等待嚴重
wait % DB Event Waits Time(s) (ms) time Wait Class ------------------------------ ------------ ----------- ------ ------ ---------- library cache lock 866 145,056 2.E+05 92.0 Concurrenc row cache lock 195 9,155 46948 5.8 Concurrenc |
2、恢復使用者到修改前的密碼
SQL> conn sale/sale (可以登入)
【問題原因】經過一番查詢發現該問題屬於ORACLE 11的一個新特性,如果一個使用者使用不正確的密碼嘗試登入資料庫,那麼隨著登入失敗次數的增加,每次登入驗證前延遲等待的時間也會增加。這個特性主要用於避免一些程式採用錯誤的密碼進行嘗試性的登入;所有這一切都已經說明,當前有一個或多箇中介軟體伺服器在使用錯誤的密碼連線資料庫,由於密碼延遲驗資料證的策略,導致所有後續的連線都被HANG住。
使用者的環境是怎麼觸發這個特性的了?
使用者的環境中,連線資料庫不僅有應用層,還有一些【地磅系統】,這些系統直接連線資料庫,所以雖然更改了應用的密碼,但是地磅系統由於數量眾多且修改麻煩,所以應用的連線密碼修改後,地磅系統的連線密碼並沒有改,所以一直在用錯誤的密碼進行登入,而觸發了【密碼延遲驗證導致的系統HANG住】
【解決方法】這個性特性可以提供系統的安全性,但同時也引入了bug,Oracle最強大之處就在於幾乎所有的功能和特性都有對應的開關,透過設定EVENTS 28401可以遮蔽密碼延遲驗證,重啟資料庫後解決。
SQL> ALTER SYSTEM SET EVENT = ‘28401 TRACE NAME CONTEXT FOREVER, LEVEL 1’ SCOPE = SPFILE; |
【總結】暫時性的關閉這個特性,然後再逐步修改每個系統的密碼,又化解了一次危機;
......................................................................................................................................................................…………………………………..
本文作者:JOHN,某上市公司DBA,業餘時間專注於資料庫的技術管理,從管理的角度去運用技術。
ORACLE技術部落格:獵人筆記 資料庫技術群:367875324 (請備註資料庫型別)
......................................................................................................................................................................………………………………….
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/21302630/viewspace-1575748/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 中止程式導致系統HANG住
- 密碼延遲驗證導致的系統HANG住密碼
- Oracle11G密碼延遲驗證導致的系統HANG住Oracle密碼
- oracle僵死會話鎖住buffer,導致資料庫hang住Oracle會話資料庫
- FAL_SERVER設定錯誤導致SWITCHOVER切換HANG住Server
- 批次錯誤使用者名稱與密碼導致業務使用者HANG住(library cache lock)密碼
- 批量錯誤使用者名稱與密碼導致業務使用者HANG住(library cache lock)密碼
- file-max設定過小導致oracle資料庫hang住Oracle資料庫
- 歸檔日誌無法歸檔導致資料庫hang住資料庫
- 導數時資料庫hang住分析資料庫
- 系統出現cursor: mutex X等待導致例項HANG死Mutex
- Flash Recovery Area空間不足導致資料庫不能開啟或hang住資料庫
- 【YashanDB知識庫】yac修改引數後關閉資料庫hang住資料庫
- solaris11使用truss解決系統命令hang住
- 利用nid工具修改db_name時hang住
- AIX定時刪除歸檔日誌時系統HANG住AI
- AIX下nfs故障導致oracle process hangAINFSOracle
- RAC節點hang住, oracle bug導致了cpu過高,無法啟動叢集隔離Oracle
- AIX下由於nfs故障導致oracle hangAINFSOracle
- mysql主鍵的缺少導致備庫hangMySql
- 記一次:歸檔檔案系統問題導致資料庫hang處理資料庫
- 誤升級GLIBC導致系統崩潰之後
- 【Oracle】11gR2 grid單機使用asm儲存修改主機名後導致的故障處理OracleASM
- shutdown命令被job程式hang住
- 【Mysql】mysql主鍵的缺少導致備庫hangMySql
- RAC環境中修改系統時間可能導致SRVCTL命令失敗
- 11gR2私有ip修改錯誤導致crs無法啟動解決方法
- 資料庫hang住,分析處理資料庫
- shutdown命令被job程式hang住(續)
- 修改系統時間導致RAC環境的一個例項重啟
- Linux主機名修改後導致mysql重啟失敗LinuxMySql
- 10.2出現reliable message資訊導致程式hang死
- 資料庫異常hang住解決資料庫
- Linux AS3.0 u6 報錯, 系統Hang住 :kernel: (6747) ERROR: status = -999LinuxS3Error
- 【orapw】修改sys使用者密碼會導致orapw檔案變化密碼
- 11G 修改使用者密碼導致的row cache lock密碼
- 主外來鍵約束之主表插入未提交導致外來鍵表插入hang住的等待事件 TX-row lock contention事件
- 有關修改作業系統時間導致例項down掉的一個案例作業系統