2017.09.13
Kksfbc child completion
目次
基本情報
SQL カーソルオブジェクトは、親/子の関係で構成されています。一つの親カーソルオブジェクトが複数の子カーソルオブジェクトを従えています。サーバ プロセスは、現在作成中の子カーソルを使用するためには、カーソルの作成が完了するまで待たなければなりません。この時、報告されるイベントがkksfbc child completionイベントです。
親/子カーソルの関係の詳細については、Library Cacheのドキュメントを参照してください。
パラメータ
待機パラメータ
・P1:なし ・P2:なし ・P3:なし
チェックポイントと解決策
ハード解析
過度のハード解析は、kksfbc child completion待機イベントの中で最も重要な原因です。次のような状況で主に発生することが報告されています。
1.ハード解析が多い場合:解析カウント(ハード)統計値と、V$ SQLAREA.VERSION_COUNT値を参照します。 2.解析失敗が、多い場合:解析カウント(失敗)統計値を参照します。 3.並列実行が発生した場合:子カーソルを共有する過程で待機が発生する場合が報告されています。
kksfbc child completion待機イベントを解消する最も一般的な方法は、ハード解析を最小限にするものとなり、次のような事項を確認することが必要です。
1.Dynamic SQLをStatic SQLに変換します。 2.リテラルSQLの使用を最小限に抑え、バインド値を使用します。 3.バインド不一致によるハード解析が発生していることをことを確認します。
Oracle Bug
Oracle Bugにより異常kksfbc child completionイベント待ちと高いCPU使用率を示す現象が報告されています。この場合、現在の公式回避策は示されておらず、次のような対策を試みること必要があります
1. _KKS_USE_MUTEX_PINパラメータの値をFalseに変更します。
現在までに知られているバグについては、以下リンク文書を参照ください。