gc cr failure が発生した際にどのオブジェクトで発生しているのかを調査する手順

Oracle RAC構成をしていると、gc cr failure による待機イベントに泣かされることが多々ある日々です。 原因は不明ですがいつまでたっても gc cr failure が終了せずに長時間セッションとなってしまいます。

そんな gc cr failure による長時間処理が発生した場合には、まず長時間動き続けているセッションを確認する必要があります。 次のSQLで該当セッションのセッションIDを確認します。

結果は下記のような感じ。

2014-08-25_13h04_26

これで長時間動き続けているSQLのセッションが確認できましたので、今度はこのSIDを参考に gc cr request を繰り返しているオブジェクトを特定します。

まずはイベント gc cr request が発生している待機セッションの fileblock を確認します。 次のSQLを実行して該当のセッションが存在してるかを確認します。P1値が file で、P2値が block を指します。

結果は下記のような感じ。

2014-08-25_13h05_15

最後に取得したP1とP2の値で該当のオブジェクトを確認します。

結果が下記。

2014-08-25_13h05_34

これでどのオブジェクトが原因で gc cr failure が発生し続けているかを特定できました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です