これらのパラメーターは、Open Target(Oracle以外)にデータを適用する際にSharePlexのPostプロセスで使用されます。
同じ操作の複数のトランザクションを適用するときにパフォーマンスを最大化するために、Postプロセスはトランザクションをグループ化し、バッチとして適用することができます。SP_OPX_BATCH_ENABLEパラメーターはこの機能を制御します。デフォルトでは有効になっています。SP_OPX_MAX_BATCH_MBYTESはバッチの最大サイズを制御します。
デフォルト: 1(有効)
有効な値の範囲: 0または1
有効になるタイミング: 即時
Post Enhanced Performance機能のコミット削減コンポーネントにしきい値を設定します。コミット削減機能により、小規模なトランザクションのバッチを大規模なトランザクションにまとめるようにPostを設定することができます。これにより、処理しなければならないコミットや確認の数を減らすことができます。トランザクションが小さければ小さいほど、パフォーマンスは向上します。
指定されたメッセージ数に達すると、Postはコミットを発行します。トランザクションの境界がこのメッセージの範囲内にあるトランザクションのコミットはスキップされ、それらのトランザクションはすべて1つのトランザクションとしてコミットされます。コミット削減はデフォルトでオンになっています。無効にするには、このパラメーターの値を1に設定します。
このパラメーターの設定は絶対的なしきい値ではありません。SharePlexは、結合された異なるトランザクションにトランザクションを分割することはありません。したがって、すべての操作とグループ内の最後のトランザクションのコミットを含めるために、Postがそのしきい値を超えなければならない可能性があります。
デフォルト: 100個のメッセージ
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターは、特定のODBCエラーが発生したときにPostを停止するかどうかを制御します。このフラグをデフォルトの0に設定すると、PostはすべてのODBCエラーで停止します。特定のエラーを無視して処理を続行するようにPostを設定するには、以下のファイル(データベースによって異なる)のいずれかにそのエラーをリストし、SP_OPX_CONT_ON_ERRを1に設定します。
hanamsglist
mysqlmsglist
postgresmsglist
sqlservermsglist
sybasemsglist
tdmsglist
これらのファイルの保存場所は、変数データディレクトリのdataサブディレクトリです。これらのファイルの設定方法の詳細については、『SharePlex管理ガイド』を参照してください。
無視した各エラーについて、PostはSharePlex errlog.sqlファイルにエラーを記録し、その後にポストを再開します。ファイルに指定されていないエラーをPostが受け取った場合、プロセスは停止します。
デフォルト: 0(すべてのエラーで停止)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、ソーステーブルのオブジェクトIDに基づいて、レプリケートされたDMLおよびDDL操作をPostがターゲットにポストしないようにします。ソーステーブルのデータが無効であるか破損している場合、ソーステーブルにターゲットでサポートされていないデータ型が含まれている場合、またはテーブルの操作をターゲットデータベースに反映させたくないその他の理由がある場合に、このパラメーターを設定できます。
このパラメーターは1つまたは複数のテーブルに設定できます。これにより、データを再同期して設定ファイルを再度アクティベーションする時間ができるまで、ソーステーブルのターゲットテーブルでそれ以上レプリケーションが実行されないようにします。Postプロセスは、これらのテーブルの複製されたすべてのメッセージをpostキューから破棄するため、メッセージはキューに蓄積されません。
このパラメーターは注意して使用してください。これを有効にしてソーステーブルに対してDDLまたはDMLを実行すると、変更がポストされないため、ターゲットデータが古くなります。レプリケーション設定外の他のテーブルの外部キーなど、テーブルに依存関係がある場合は、ポストを無効にすると依存関係が満たされなくなります。
このパラメーターは、デフォルトでは無効になっています。この機能を有効にするには、ターゲットシステムで以下のコマンドを実行します。ここに表示される数字は、ポストから除外するソーステーブルのオブジェクトIDです。
sp_ctrl(sysB)> set param SP_OPX_DISABLE_OBJECT_NUM 12345,67890
各オブジェクトIDをカンマで区切り、その間にはスペースを入れません。エントリ間にスペースを使用するには、以下の例のようにリスト全体を引用符で囲みます。
sp_ctrl(sysB)> set param SP_OPX_DISABLE_OBJECT_NUM "498438, 1000, 497109"
無効なオブジェクトIDは無視されます。
ターゲットテーブルへのポストを再開する準備ができたら、SP_OPX_DISABLE_OBJECT_NUMを0に設定します。
デフォルト: 0(オフ)
有効な値の範囲: カンマで区切られた有効なオブジェクトIDのリスト
有効になるタイミング: 即時
このパラメーターは、バッチDML操作の最大サイズを制御します。ターゲットにSQL操作を適用する際のパフォーマンスを最大化するために、Postプロセスは小さなレプリケート操作を1つの大きなバッチ操作にグループ化します。操作が同一でSQLが類似している場合、Postはレプリケートされた操作をグループ化します。Postは、SP_OPX_MAX_BATCH_MBYTESで指定されたバッチサイズに達するまで、(条件が一致する)操作をバッチに追加し続けます。
SP_OPX_BATCH_ENABLEパラメーターはこの機能を有効にします(デフォルトでは有効)。
デフォルト: 1メガバイト
有効な値の範囲: 1~任意の正の整数
有効になるタイミング: 即時
このパラメーターは、Postプロセスが使用するメモリの量を制御します。Open TargetのPostプロセスは、トランザクションデータを一時的に保存するために内部キューを使用します。このパラメーターは、この内部キューが使用するメモリの最大量を制御します。
デフォルト: 5,000個のメッセージ
有効な値の範囲: 整数、最大値なし
有効になるタイミング: Postの再開時
このパラメーターは、Oracleソースと非Oracleターゲット間の文字セットの変換を制御します。
Open Targetターゲット(Oracle以外のターゲット)にレプリケートする場合、SharePlexは、任意のOracle Unicode文字セットおよびUS7ASCII文字セットからのレプリケーションをサポートします。SharePlexはUnicode文字セットでOpen Targetターゲットにデータをポストするため、ソースデータがUnicodeまたはUS7ASCIIの場合、ターゲット上で変換する必要はありません。
ただし、以下の項目に当てはまる場合は、ターゲット上で変換が必要となります。
Linux上のOracleクライアントで変換を実行するには:
UnicodeとUS7ASCIIのデータを変換せずに適用するには:
ソースデータがUnicodeまたはUS7ASCIIで、LOBデータをレプリケートしない場合は、変換やOracleクライアントは必要ありません。SP_OPX_NLS_CONVERSIONパラメーターを0に設定して変換を無効にし、Postが実行中であれば再起動します。
デフォルト: 1
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: Postの再開時
このパラメーターは、Open TargetのPostプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。
例:
sp_ctrl> set sp_opo_oneline_debug 230230, 351626
以下の項目が記録されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
このパラメーターは、SP_OPX_ONELINE_DEBUGが有効な場合に列の値をログに記録するかどうかを制御します。これは、非同期の状態を診断するのに役立ちます。オンラインデバッグが有効になっているときに指定されたオブジェクトの列の値をログに記録するには、SP_OPX_ONELINE_DEBUG_COLUMNSを1に設定します。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターは、非同期状態を検出したときのSharePlexの動作を以下に基づいて制御します。
値0(デフォルト)
トランザクションに非同期の操作が含まれる場合のPostのデフォルトの動作は、トランザクション内の他の有効な操作の処理を継続し、レイテンシを最小限に抑え、ターゲットを可能な限り最新の状態に保つことです。レイテンシとは、ソースでトランザクションが発生してから、それがターゲットに適用されるまでの時間のことです。きわめて量の多いトランザクションやネットワークトラフィックの中断など、さまざまな要因がレプリケーションのレイテンシの大きさに影響を与えます。
Postは、SQLステートメントと非同期の操作のデータをID_errlog.sqlログファイルに記録します。ここで、IDはデータベース識別子です。このファイルは、ターゲットシステムの変数データディレクトリのlogサブディレクトリにあります。
値1
値1を指定すると、Postは非同期状態を検出したときにポストを停止します。Postは、SQLステートメントと非同期の操作のデータをID_errlog.sqlログファイルに記録し、その後停止します。
このパラメーターを1の値に設定した場合は、レプリケーションプロセスのステータスを頻繁にチェックしてください。Postを停止すると、ソースデータベースとターゲットデータベース間にレイテンシが発生し、レプリケーションキューにデータが蓄積されるため、利用可能なディスク容量を超える可能性があります。SharePlexには、レプリケーションのステータスをチェックするためのいくつかのsp_ctrlコマンドと、無人でSharePlexを監視するためのツールがあります。SharePlexを監視する方法の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(非同期状態では停止しない)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、Postがトランザクション方式でJMSサーバにポストするように設定されている場合に使用します(targetコマンドのsession_transactedプロパティで指示されるようにすべてのメッセージの後ではなく、一定間隔でJMSコミットを発行)。
このパラメーターは、読み取り/リリースの間隔(Postがキューからトランザクションのデータをパージする頻度)を制御します。
デフォルト: 1,000
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。
重要! ピアツーピア構成では0に設定する必要があります。
注意: 水平分割レプリケーションでSP_OPX_REDUCED_KEYパラメーターが2に設定されている場合、PostはUPDATE句のために追加される列のキーと変更前のデータでWHERE句を準備します。
SP_CAP_REDUCED_KEYも参照してください。
デフォルト: 0
有効な値の範囲: 0、1、2
有効になるタイミング: Postの再開時
このパラメーターはSQL Cache機能を有効または無効にします。デフォルトではSQL Cacheはオンで、このパラメーターは0に設定されます。1の設定では、SQL Cacheは無効になります。3の設定ではバッチ操作のSQL Cacheが無効になり、Postが使用するメモリの量が減少します(2の設定は不可)。
SQL Cacheを無効にすると、SharePlexはイベントログに以下のメッセージを表示します。 SQL Cache disabled.(SQL Cacheが無効になりました。)
SQL Cacheの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 0(オン)
有効な値の範囲: 0、1、3
有効になるタイミング: Postの再開時
このパラメーターは、DDLの適用中にエラーが発生した場合にPost処理を停止するかどうかを制御します。デフォルトの1は、エラーが発生した場合にPostを停止させます。エラーは通常、DDLが実行されたソースコンポーネントがターゲットデータベースに存在しないことを示し、後続のDMLの変更も失敗する可能性があることを示します。Postを停止することでDMLの失敗を防止し、問題を修正してデータベースの同期を保つことができます。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 即時
このパラメーターは、Post Enhanced Performance機能のTransaction Concurrencyコンポーネントを制御します。2以上の値に設定すると、指定されたスレッド数(同時処理数)でPostが実行されます。
このパラメーターはSQL ServerおよびPostgreSQLデータベースをサポートしています。通常は、システム上のプロセッサーのコア数に設定しなければなりません。
Postのパフォーマンスを調整する方法の詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 1(無効)
有効な値の範囲: Max_connection値未満
有効になるタイミング: Postの再開時
このパラメーターは、信頼できるソースシステムを指定します。このシステムには、ピアツーピアレプリケーション環境でプライマリデータセットとみなされるデータが格納されています。このパラメーターは、SharePlexによって提供される準備されたコンフリクト解決ルーチンで使用されます。SP_OPX_TRUSTED_SOURCEパラメーターは、両方のサーバで同じ値に設定する必要があります。コンフリクト解決とピアツーピアレプリケーションの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: なし
有効な値の範囲: SharePlexレプリケーション環境で有効な任意のホスト名
有効になるタイミング: Postプロセスの再開時
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Nutzungsbedingungen Datenschutz Cookie Preference Center