これらのパラメーターは、SharePlexReadプロセスで使用されます。
このパラメーターは、バッチ処理機能の有効化を制御します。デフォルトでは有効になっています。これにより、Readプロセスは複数の同一レコードを1つのレコード、つまりバッチに結合して、プロセス内で処理できるようになります。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、同時バッチトランザクションの最大数を制御します。
デフォルト: 50(トランザクション)
有効な値の範囲: 5から250までの任意の整数
有効になるタイミング: Readの再開時
このパラメーターは、バッチを処理する前に、一致した操作の最小数を制御します。
デフォルト: 2
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、Readプロセスの各ログインによってキャッシュされるカーソル数を制御します。レプリケーションがソースシステムのOracleアクティビティから遅れ始めたら、この値を増やす必要があるかもしれません。レプリケーションに多数のテーブルがある場合は、初期設定を15カーソルにすることをお勧めします。
デフォルト: 5カーソル
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、無効な日付列を検出したときに、ReadプロセスがイベントログとReadログに警告メッセージを表示するように設定できます。0を設定するとパラメーターは無効になり、1を設定すると有効になります。Readにより生成されるエラーメッセージは以下の通りです。
An oerr#1801 has occurred on record with rowid rowid, on object object_id. Rec skipped. It is usually caused by invalid column data of type DATE. Creating a unique index that doesn't include column of type DATE and reactivating same configuration may solve the problem.
デフォルト: 0(警告メッセージを表示しない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
Readプロセスはレコードをバッチで処理します。バッチのサイズは、captureキュー内のレコードの数に依存します。レコード数が多い場合、Readはこのパラメーターの値を無視し、バッチは可能な限り小さく保たれます。ReadがCaptureと同じペースで進行している場合、バッチのサイズはほぼこのパラメーターで設定された値になります。
SharePlexがイベントログにrollback segment too old(ロールバックセグメントが古すぎる)というメッセージを生成している場合、このパラメーターの値を小さくします。これにより、SharePlexにデータを早く渡すように指示します。このパラメーターは、最小限のレイテンシしか許容できない場合に使用します。
重要: このパラメーターは慎重に使用してください。レコード数を減らすとSharePlexが実行する必要があるI/Oが増加し、システムのオーバーヘッドが増加するからです。また、SharePlexプロセス間のスムーズな相互作用にも悪影響を及ぼす可能性があります。
デフォルト: 200レコード
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、レプリケートされた行の変更が列条件を満たすかどうかを判断するために、Readプロセスが列条件をチェックする方法を制御します。
水平パーティショニングの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Readの再開時
このパラメーターは、水平パーティショニングに使用されるハッシュテーブルのスロット数を制御します。デフォルトでは、メモリ使用量を最小限に抑えるため、このパラメーターは16スロットに設定されています(使用量は、挿入を伴うトランザクションごとにスロット数×32バイトとなります)。ユーザのシステムが、水平にパーティショニングされたテーブルに対して(同じトランザクション内で)多くの挿入操作とそれに続く更新操作を行う場合、SharePlexはこのハッシュテーブルを多用することになります。その場合、パフォーマンス低下を防ぐためにこの値を大きくする必要があるかもしれません。また、ユーザのシステムで水平にパーティショニングされたテーブルへの挿入を伴う長いトランザクションが多い場合も、このパラメーターの値を大きくする必要があります。
デフォルト: 16スロット
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、水平分割レプリケーションで、列条件の列の値が変更され、行が条件を満たさなくなった場合に、データが適切にレプリケートされるようにするために使用します。
これにより、SharePlexは以下を自動的に修正できます。
UPDATEにより、レプリケートされるはずのない行が列条件を満たし、レプリケートされる。例えば、region列がHEADQUARTERSの値(行がレプリケートされない)からWESTの値に更新されたとします。この操作は失敗します。なぜなら、その行の元のINSERTステートメント(本社システムへの)が西部地域のシステムにレプリケートされないため、Postはそこで更新を実行できないからです。
このパラメーターが有効な場合、SharePlexはUPDATEによって上記の状態が発生する行を自動的に修正します。SharePlexはUPDATEをDELETEに変換し、必要であればINSERTに変換します。
UPDATEステートメント(通常は変更された列とキーのみを使用)をINSERTステートメントに変換するには、SharePlexはすべての列の値が必要です。SP_ORD_HP_IN_SYNCを有効にすると、SharePlexは水平分割レプリケーションを使用しているテーブルに対するUPDATEがあった場合、行のすべての列をPostプロセスに送信して、INSERTを構築できるようになります。
設定をアクティベーションする前に、ソースシステムでこのパラメーターを設定してください。レプリケーションがアクティブな場合は、パラメーターを設定してから設定を再アクティベーションして、SharePlexがオブジェクトキャッシュを再構築できるようにします。
水平分割レプリケーションを使用しているテーブルの列条件の列が変更されないことが分かっている場合は、このパラメーターを使用すると処理オーバーヘッドが発生するため、0に設定したままにします。
このパラメーターは、SP_OCT_REDUCED_KEYおよびSP_OPO_REDUCED_KEY [任意の値: 1または2]と互換性がありません。このパラメーターは両方のパラメーターの動作をオーバーライドするからです。
デフォルト: 0(オフ)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Readの再開時
このパラメーターは、読み取りの一貫性を保つためにデータベースに対するログインの回数を制御します。Readプロセスが遅くなる場合は、このパラメーターの値を増やしてみてください。最大設定は、init_oraファイルのMAX_PROCESSESパラメーターによって決定されます。
デフォルト: 5ログイン
有効な値の範囲: 任意の正の整数
有効になるタイミング: Readの再開時
このパラメーターは、Readプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。例:
sp_ctrl> set sp_ord_oneline_debug 230230, 351626
以下の項目が記録されます。
注意: 行が複数のターゲットにルーティングされる場合、この情報はターゲットごとに繰り返されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
これらのパラメーターは連動して動作するため、一方のパラメーターをデフォルト値の0に設定した場合、もう一方のパラメーターを0以外の数値に設定しても動作しません。どちらのパラメーターも、実行されたクエリあたりのディスク取得率をチェックすることで、クエリ処理に時間がかかりすぎていることをReadプロセスが検知する自動プロセスをサポートします。Readがこの判断を行うと、既存の読み取り一貫性のあるビューを取り除き、新しいビューに置き換えます。
ORD_MSGS_CK_FREQパラメーターは、比率が基準を超えたかどうかをReadプロセスがチェックする頻度です。例えば、このパラメーターを100に設定すると、Readプロセスは100クエリーごとに、比率に問題がないかどうかをチェックします。推奨設定は1,000クエリーです。
ORD_RCM_SKIP_RATIOパラメーターは、読み取り一貫性ビューが置き換えられる基準値(実行されたクエリに対するディスクの取得率)を指定します。最も細かな設定は1で、これは1回のクエリ実行につき1回のディスク取得を意味します。推奨設定は2です。
これらのパラメーターをオフにするには、どちらかを0に設定します。これによりもう一方のパラメーターも無効になります。
デフォルト:
SP_ORD_MSGS_CK_FREQ: 10,000
SP_ORD_RCM_SKIP_RATIO: 2
有効な値の範囲:
SP_ORD_MSGS_CK_FREQ: 0~100,000
SP_ORD_RCM_SKIP_RATIO: 0~1,000(5より大きくすることは非推奨)
有効になるタイミング: プロセスの再開時
このパラメーターは、Readプロセスがcaptureキューからメッセージを読み込み、キーの値を決定する際に実行するチェックポイントの頻度を制御します。チェックポイントは、captureキューをキャッシュファイルに保存し、(exportキューに渡される)送信キューのメッセージをコミットし、既にexportキューによって受信されたcaptureキューの残留レコードに対して読み取りリリース(削除)を行います。
このパラメーターの値が高いほど、チェックポイントがトリガされる前に、より多くのレコードがメモリに保持されます。非常に大きい値に設定すると、システム上のI/Oが少なくなり、処理が速くなりますが、その代償としてメモリ使用量が増え、予期せぬことが原因でReadプロセスが停止した場合の回復時間が長くなります。値を小さくするとI/Oが増加し、リカバリ速度が向上しますが、スループット速度は低下します。
デフォルト値の100,000レコードは、スピードの必要性とメモリの節約およびプロセスリカバリの間の合理的なバランスを確立するはずですが、処理要件に合わせてこのパラメーターを調整できます。調整オプションの範囲は、すべてのレコードごとにチェックポイントを実行するものから、システムとメモリが収容できる限り多くのレコードを保持するものまであります。
デフォルト: 100,000レコード
有効な値の範囲: システムの制限内の任意の正の整数
有効になるタイミング: 即時
このパラメーターは、リーダーがトランザクションキャッシュに保持する、トランザクションが完全にロールバックされたことを示すエントリの数を制限します。
デフォルト: 5,000レコード
有効な値の範囲: システムの制限内の任意の正の整数
有効になるタイミング: プロセスの再開時
このパラメーターは、複数のpostキューが使用中で、レプリケーション設定にないオブジェクトのDDLをレプリケートしている場合(SP_OCT_REPLICATE_ALL_DDL=1)に、Postのパフォーマンスを向上させるのに役立ちます。
このパラメーターは、レプリケーション設定内にないオブジェクトのDDLを特定のpostキューに送信するようにImportに指示します。通常、レプリケーション設定内のオブジェクトに関連しないDDLは、利用可能な任意のキューに送信できます。このDDLが大量にあると、レプリケーション中のオブジェクトのDMLがブロックされ、データのレイテンシが長くなる可能性があります。
このDDLは、レプリケーション中のオブジェクトと関連性がないため、これらのオブジェクトに関連する順序で適用する必要はありません。これを専用のキューで個別にルーティングすることで、他のキューを解放して、レプリケートされたデータとそれに関連するDDLを処理することができます。
このパラメーターを有効にする場合は、レプリケートされていないオブジェクトのDDLを処理するpostキューを指定する必要があります。この指定は、設定ファイルの「Datasource:o.SID」行の後の最初の行に、以下のように記述する必要があります(!は、実際のオブジェクト指定に置き換えるプレースホルダです)。
Datasource: o.dbprod
#レプリケーション対象外のDDLのルート
! sysmm:queddl1@o.dbprep
#残りの設定エントリ
SCOTT.EMP SCOTT.EMP sysmm:que1@o.dbrep
SCOTT.FOO SCOTT.FOO sysmm:que2@o.dbrep
このように明示的に指定しない場合、DDLは最初にリストされているルートにルーティングされます。例えば、以下の設定ファイルでは、レプリケーション中のオブジェクトに関連付けられないDDLはすべてsysmm:que1@o.dbrepに送信されます。
Datasource: o.dbprod
SCOTT.EMP SCOTT.EMP sysmm:que1@o.dbrep
SCOTT.FOO SCOTT.FOO sysmm:que2@o.dbrep
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Nutzungsbedingungen Datenschutz Cookie Preference Center