Oracleターゲットで有効
OracleのパラメーターOPEN_CURSORSの値は、Postプロセスに期待されるパフォーマンスレベルをサポートするために十分に大きい値に設定する必要があります。このパラメーターは、プロセス(Postなど)が開くことができるカーソルの最大数を定義します。
内部的に、PostはOPEN_CURSORSの値からルーチン呼び出しに必要な10個を除いたオープンカーソルの最大総数を設定します。この値はevent_logで確認できます。以下の例では、OPEN_CURSORSは512に設定されています。
Notice: sp_opst_mt (for o.oracle-o.oracle queue oracle) Post will not open more than 502 cursors (OPEN_CURSORS – 10).
Postは開いているカーソル数の記録を保持します。Postはカーソルの最大数を超えることを検出した場合、最も長い間使用されていないセッション内の最も長い間使用されていないカーソルを閉じます。
カーソル不足を回避するために、Postプロセスは開始時にOPEN_CURSORSの値を問い合わせます。この値が十分でない場合、Postは以下の警告をevent_logに書き込みます。
Warning: (sp_opst_mt for o.oracle-o.oracle queue oracle)Oracle parameter 'OPEN_CURSORS' is < number. Check 'OPEN_CURSORS' setting.
OPEN_CURSORSの値は、変更することも、ない場合に追加することもできます。
OPEN_CURSORSの値を表示するには、以下のSQLステートメントを使用してデータベースに問い合わせます。
select value from v$parameter where name = 'open_cursors';
Postプロセスに十分なOPEN_CURSORSの値を見積もるには:
以下の式を使用して、SharePlex(およびターゲットデータにアクセスする可能性のある他のアプリケーション)をサポートするためのOPEN_CURSORSの適切な設定を決定します。
SQLキャッシュが有効(デフォルト): デフォルトでは、Postは、終了すると閉じるルーチン呼び出しのために10個のカーソルと、トランザクションごとに少なくとも7個のカーソルを確保する必要があります(基本は少なくとも2個と追加の5個)。計算式は以下の通りです。
10 + (同時トランザクションのピーク数 x 7) =必要な最小限のオープンカーソル数
SQLキャッシュが無効: Postプロセスは、終了すると閉じるルーチン呼び出しのために10個のカーソルと、トランザクションごとに少なくとも2個のカーソルを確保する必要があります。計算式は以下の通りです。
10 + (同時トランザクションのピーク数 x 2) =必要な最小限のオープンカーソル数
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center