掛起但未癱瘓:附連內存的 SGA 查詢
假設您使用 Oracle 企業管理器診斷和解決性能問題。一天,出現了一個棘手的問題:一個設計糟糕的應用程序引起了嚴重的庫高速緩存鎖定問題,並且數據庫呈現掛起狀態。您必須快速確定導致該問題發生的會話,並快速終止這些會話。
您可以啟動 Oracle 企業管理器來診斷此問題。且慢!如果整個數據庫充滿了掛起的會話,那麼 Oracle 企業管理器中的查詢是否也會掛起?
如果使用 Oracle 數據庫 10g 第 2 版,則答案是否定的。正如我在第 2 部分中所介紹的,在該版本中,“在內存訪問模式下進行監控”選項使企業管理器可以直接從 SGA 內存(而不是 V$SESSION)中選擇會話。因為在該模式下繞過了 SQL 層,掛起的數據庫就不會阻礙此查詢的執行。相反,將自動啟動查詢。
讓我們看看該特性是如何工作的。在 Enterprise Manager 屏幕上,選擇 Performance 選項卡並滾動到該頁面底部的“Additional Monitoring Links”部分,屏幕與下圖類似。
注意紅色橢圓框中“Hang Analysis”的超鏈接。單擊該鏈接,將顯示一個與下圖類似的屏幕。