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に変更します。

現在までに知られているバグについては、以下リンク文書を参照ください。

Metalink Doc. 430555.1

Metalink Doc. 5500044.8