2023年11月26日 星期日

RMAN 產生 ENQ: CF - CONTENTION 等待案例

Oracle 版本: 19.14

OS 版本: Linux 7.9


問題描述:

DB 在 RMAN 執行備份時段發生 hang 的情況,約有 2 分鐘無法進行任何操作與連線,此時 RMAN 正好在執行 rman delete obsolete 。


問題分析:

由 ASH 分析在事件時段存在著 ENQ: CF – CONTENTION 與 CONTROL FILE PARALLEL WRITE 等待事件 :


這個現象與 Bug 33727983 所描述的情況相符,原因在於需要 delete obsolete 的物件過多,需要花費較長的時間掃描 control file ,在多個 channel 同時作用下,便產生了 control file 爭用的情況發生。由 RMAN 的 log 可以看到 delete 超過萬個 obsolete 物件 :


解決方法:

Bug 33727983 於 19.17 之後的版本修復,將 DB apply RU 至 19.17 之後的版本,或者是單獨 apply 33727983 的 one-off patch 。暫時的 workaround 可以只使用單一個 channel 執行 delete obsolete ,這樣就可以避免多個 channel 執行同一個操作而造成 control file 爭用。



沒有留言:

張貼留言