2024年7月29日 星期一

Last Login Time 造成的效能問題

Oracle 版本: 12.2.0.1

OS 版本: AIX 5.3


問題描述:

資料庫發生了嚴重的 Concurrency Wait Event :


問題分析:

由 Concurrency Wait 的 sql 顯示語法為 :

UPDATE user$ set spare6=DECODE(to_char(:2, 'YYYY-MM-DD'), '0000-00-00', to_date(NULL), :2) where user#=:1


這句語法主要的功能是用來記錄使用者上次成功的登入時間, Last Successful Login Time 為 12c 的新功能,比對 11g 與 12c 的登入畫面, 12c 多了 Last Successful login time :


不過這個功能有個嚴重的 Bug 33121934 , update user$ 這段語法產生大量的 Library Cache Lock 造成嚴重的效能問題。


解決方法:

1. Apply Patch 33121934 。

2. 升級至 19.14 版本以上, Bug 33121934 於此版本中修復。

3. 將參數 _disable_last_successful_login_time 設定為 TRUE ,停用此功能。



沒有留言:

張貼留言