Chat now with support
Chat with Support

SharePlex 8.6.6 - アップグレード・ガイド

オープンカ―ソルの調整

対象:Oracle ターゲット

 

Oracle パラメータ OPEN_CURSORS の値は、Post プロセスの想定パフォーマンスレベルに十分対応できるように高く設定する必要があります。このパラメータは、プロセス(Post など)が開くことができるカーソルの最大数を定義します。

Post は、ルーチンコールに必要な 10 を引いた OPEN_CURSORS の値からオープンカーソルの合計最大数を内部で確立します。この値を 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 は直前に使用したセッションで直前に使用したカーソルを閉じます。

カーソルの不足を防止するために、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 の値を推定するには

  1. ターゲットインスタンスについて予測される並行トランザクション(セッション)のピーク数を推定します。Post は、ソースシステムのセッションごとにターゲットシステムのセッションを開きます。実稼働が最大レベルにあるときに sp_ctrl show post detail コマンドを発行すると、適切に推定できます。ディスプレイの Number of Open Transactions フィールドは、並行トランザクション数を表示します。
  2. 次の式を使用して、OPEN_CURSORS で SharePlex(およびターゲットデータにアクセスする可能性があるその他のアプリケーション)をサポートするための正しい設定を決定します。

    SQL Cache が有効な場合(デフォルト):デフォルトでは、Post は、終了時にいったん閉じるルーチンコールに備えて 10 個のカーソルを、さらにトランザクション当たり少なくとも 7 個のカーソルを確保しておく必要があります(基本最小数 2 個に加えてさらに 5 個)。式は次のとおりです。

    10 +(並行トランザクションのピーク数 x 7)= 必要最小オープンカーソル数

    SQL Cache を無効にした場合: Post プロセスは、終了時にいったん閉じるルーチンコールに備えて 10 個のカーソルを、さらにトランザクション当たり少なくとも 2 個のカーソルを確保しておく必要があります。式は次のとおりです。

    10 +(並行トランザクションのピーク数 x 2)= 必要最小オープンカーソル数

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating