Oracle 11g中的密碼延遲功能

charsi發表於2016-12-13
前幾天幫客戶升級資料庫,從11.2.0.4 psu6,升級到11.2.0.4 psu161018 Linux64位 RAC

當節點1升級完啟動之後,準備升級節點2時,客戶說應用訪問很慢,甚至會出現登陸報錯的問題。檢查發現確認存在這種情況,而且資料庫的等待事件中存在有大量的LIBRARY CACHE LOCK,並且一直在增長。

剛開始以為是升級過程中偶爾出現的,就先擱置升級節點2。當升級完節點2之後,發現這個問題依舊存在。而且不管是通過監聽,或者不通過監聽(即通過sqlplus username/passwd方式,不加連線串的方式)都會出現這種情況。

後來,在資料庫中設定了幾個event,再重新啟動資料庫之後問題正常。
之後分析,應該是oracle 11g中的密碼延遲功能導致,在設定的幾個event其中有一個是'28401 TRACE NAME CONTEXT FOREVER, LEVEL 1'

對應在Oracle 11g中存在一個bug Bug 11742803 : LOTS OF 'LIBRARY CACHE LOCK' DURING USER LOGON AUTHENTICATION


該bug講當應用會話試圖連線oracle 11g資料庫時,連線會話會Hang住,資料庫中檢視到的等待事件為library cache lock

對於這種情況,Oracle提供關閉11g中的密碼延遲功能的方法就是設定28401事件。

Oracle的bug說明中說該bug在11.2.0.2版本中已經修復,而從實際我使用的11.2.0.4 psu6,以及升級到psu161018最新補丁中都有該問題出現。說明這個bug可能一直存在,最好的方法還是關閉oracle 11g中的密碼延遲功能。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23850820/viewspace-2130423/,如需轉載,請註明出處,否則將追究法律責任。

相關文章