PostgreSQLパラメーターは、PostgreSQLデータベースのレプリケーションのさまざまな側面を制御し、調整します。
このセクションでは、PostgreSQLデータベースのユーザ設定可能なSharePlexパラメーターについて説明します。この章に記載されていないパラメーターは内部パラメーターであり、Questの開発者またはテクニカルサポート担当者の指導の下でのみ変更してください。
パラメーターは以下のように分類されます。
これらのパラメーターは、SharePlex Captureプロセスで使用されます。
このパラメーターは、UPDATE操作の変更後イメージに未変更の列を含めるかどうかを制御します。デフォルトでは、SharePlexは変更された値のみを変更後イメージに含めます。
デフォルト: 0(オフ)
有効な値の範囲: 0または1
有効になるタイミング: 即時
このパラメーターは、WALファイル内の操作のどの部分をCaptureによってターゲットに送信し、Postで使用するかを制御します。SharePlexの機能によって、Postプロセスで使用可能にする必要のあるデータの量が異なることがあります。
デフォルト: 1
有効な値の範囲: 0、1、2
有効になるタイミング: 即時
このパラメーターは、Captureプロセスのオンラインデバッグ機能を制御します。
オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。
このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。例:
sp_ctrl>set sp_cap_oneline_debug 230230, 351626
以下の項目が記録されます。
デフォルト: 無効
有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列(カンマで区切る)
有効になるタイミング: 即時
このパラメーターは、show captureコマンドによって発行されるチェックポイントの頻度を定義するために使用できるパラメーターの1つです。このパラメーターは、SP_CAP_CHECKPOINT_TIMEパラメーターと連動します。
デフォルト: 40,000メッセージ
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、SP_CAP_CHECKPOINT_FREQパラメーターと連動します。Captureプロセスがチェックポイントを実行するまでの遅延時間(秒)を定義します。SP_CAP_CHECKPOINT_FREQに設定された値より前にこのパラメーターに設定された値に達すると、チェックポイントがトリガされます。(チェックポイントは、障害リカバリに必要な場合に備えてプロセスの状態を保存します。)
デフォルト: 120秒
有効な値の範囲: 任意の正の整数
有効になるタイミング: 即時
このパラメーターは、SharePlex PostgreSQL Captureにのみ適用されます。これは、Captureプロセスがユーザセッションのすべてのトランザクションを無視するか、フィルタリングするかを制御します。
0に設定すると、Captureは、ユーザセッションがオリジン名にバインドされているかどうかにかかわらず、トランザクションを無視しません。
1に設定すると、Captureは、‘sp_deny_anyString’の形式でオリジン名にバインドされているユーザセッションのすべてのトランザクションを無視します。sp_deny_プレフィックスを使用する必要があり、「anyString」の代わりに文字列を挿入できます。例: sp_deny_1。
ユーザは、PostgreSQL関数の‘pg_replication_origin_create ()’と ‘pg_replication_origin_session_setup ()’を呼び出して、PostgreSQLユーザセッションを作成し(存在しない場合)、オリジン名にバインドする必要があります。
例:
select pg_replication_origin_create('sp_deny_1’);
select pg_replication_origin_session_setup('sp_deny_1’);
重要: ソースマシン上のトランザクションを無視すると、非同期の状態になることがあります。
デフォルト: 0
有効な値の範囲: 0または1
有効になるタイミング: 即時
指定されたユーザがソースデータベースでトランザクションを実行する前に、ソースsp ctrlで以下のコマンドを発行します(ソースおよびターゲットとしてPostgreSQLを使用する場合)。
sp_ctrl>set param SP_CAP_DENIED_SESSION_PG 1
注意: パラメーターはライブです。このパラメーターを設定した後、ユーザはpg_replication_origin_session_setup()関数を呼び出して、PostgreSQLセッションをオリジンにバインドする必要があります。これ以降にソースデータベースに対して実行されるすべての操作は、パラメーターが設定解除されるまですべて無視されます。SP_CAP_DENIED_SESSION_PGはライブパラメーターであり、いつでも変更できます。
パラメーターを設定解除するには、以下のコマンドを実行します。
sp_ctrl>reset param SP_CAP_DENIED_SESSION_PG
異なるオリジンに10を超えるPostgreSQLセッションを同時にバインドするには、以下の手順を実行します。
PostgreSQLデータディレクトリ(cd /var/lib/pgsql/13/data/)に移動します。
postgresql.confファイルを編集し、max_replication_slotsパラメーターのコメントを解除します(デフォルトではコメント化されているため、コメントを解除し、異なるオリジンにバインドする同時セッションの最大数より大きい値に設定する必要があります)。
データベースを再起動します。
注意:
|
これらのパラメーターは、Open Target(Oracle以外のターゲット)にデータを適用する際にSharePlex Postプロセスで使用されます。
このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。
デフォルト: 0
有効な値の範囲: 0、1、2
有効になるタイミング: Postの再開時
このパラメーターは、ユーザがKafkaのターゲット出力形式としてXMLを選択した場合に、Null値をどのように表示するかを制御します。JSON形式は常にNULLである必要があります。NULL値をxsi:nil="true"として表示するには、Kafkaターゲットで SP_OPX_XML_MARK_NULLパラメーターを1に設定します。
デフォルト: 1
有効な値の範囲: 0または1
有効になるタイミング: プロセスの再開時
このパラメーターは、ターゲットがPostgreSQLの場合にのみ、Open Postに適用されます。これは、PostgreSQLデータベースにレプリケーションのオリジンを作成し、作成したオリジンにPostユーザセッションをバインドするために使用されます。これは、双方向レプリケーション(ピアツーピアレプリケーション)で、Postプロセスによってポストされた操作がループバックするのを防ぐために有用です。有効にすると、Captureプロセスは、Postプロセスによってポストされたそのような操作を無視します。デフォルトでは無効になっています。
注: このパラメーターを有効にすると、各Postプロセスでオリジンが作成されます。作成されるオリジンの数は、PostgreSQLデータベースのmax_replication_slotsパラメーターによって決定されます。この結果、Postプロセスの数がこのパラメーターの値を超える場合は、パラメーターの値を増やしてデータベースを再起動してください。
デフォルト: 0(無効)
有効な値の範囲: 0または1
有効になるタイミング: Postの再開時
このパラメーターを使用すると、成功したコンフリクト解決プロシージャに関する情報をshareplex_conf_logテーブルに記録できるようになります。これは、SharePlexが提供する準備されたルーチンにのみ適用されます。
1に設定すると、shareplex_conf_logテーブルへのコンフリクト解決のロギングが有効になります。
注: 1に設定すると、shareplex_conf_logテーブルの列existing_timestamp(既存のデータが置換されない場合)は更新されません。
2に設定すると、shareplex_conf_logテーブルへのコンフリクト解決のロギングが、Postによる追加のメタデータのクエリと共に有効になります。
準備されたルーチンLeastRecentRecordまたはMostRecentRecordを使用すると、Postは既存のレコードのタイムスタンプ列のターゲットデータベースにクエリを実行します。クエリの結果は、shareplex_conf_logテーブルのexisting_timestamp列にログ記録されます。
注: 2と設定すると、クエリを実行した結果、Postのパフォーマンスに影響を与える可能性があります。
デフォルト: 0(無効)
有効な値の範囲: 0、1、または2
有効になるタイミング: Postの再開時
これらのパラメーターは、Oracleターゲットにデータを適用する際にSharePlex Posterプロセスで使用されます。
このパラメーターは、ヒントファイルに記載できるヒント(テーブルとインデックスの組み合わせ)の最大数を制御します。ヒントは、定義されたインデックスがあるテーブルに対してPostがフルテーブルスキャンを行っている場合にのみ、使用してください。大量のヒントを使用すると、Postプロセスのパフォーマンスが低下する可能性があります。
デフォルト: 100ヒント
有効な値の範囲: 任意の正の整数
有効になるタイミング: Postの再開時
これらのパラメーターは、SharePlex Readerプロセスで使用されます。
このパラメーターは、レプリケートされた行の変更が列条件を満たすかどうかを判断するために、Readプロセスが列条件をチェックする方法を制御します。
水平パーティショニングの詳細については、『SharePlex管理ガイド』を参照してください。
デフォルト: 1(オン)
有効な値の範囲: 0または1(フラグ)
有効になるタイミング: 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の再開時
これらのパラメーターは、SharePlexのcompareおよびrepairコマンドのプロパティを制御します。
このパラメーターは、PostgreSQLデータベースの実行中のセッションで並列クエリを使用できるようにします。
このパラメーターの値に基づいて、以下の値がPostgreSQLデータベースパラメーター、 force_parallel_mode (DB version < 16.0)/ debug_parallel_query (DB version >= 16.x)に割り当てられます。
0 - オフ
1 - オン
2 - 回帰
デフォルト値: 0
有効な値の範囲: 0~2
有効になるタイミング: 次のcompareで即時利用可能
注意:
|
このパラメーターは、PostgreSQLデータベースの実行中のセッションで、クエリに対して許可される並列ワーカースレッドの最大数を管理します。
このパラメーターの値は、PostgreSQLデータベースパラメーターのmax_parallel_workers_per_gatherに割り当てられます。
デフォルト値: 6
有効な値の範囲: 0~1,024
有効になるタイミング: 次のcompareで即時利用可能
注意:
|
このパラメーターは、実行中のセッションでPostgreSQLデータベースのparallel_setup_costパラメーターを設定するために使用します。
デフォルト値: 10
有効な値の範囲: 0~2147483647
有効になるタイミング: 次のcompareで即時利用可能
注意:
|
このパラメーターは、実行中のセッションでPostgreSQLデータベースのparallel_tuple_costパラメーターを設定するために使用します。
デフォルト値: 0.001
有効な値の範囲: 0.0001~3.4E+38
有効になるタイミング: 次のcompareで即時利用可能
注意:
|
1に設定すると、このパラメーターは repairプロセス中のバッチDML操作を有効にします。0に設定すると、repair中に一度に1つのトランザクションを実行することによって、同期外(OOS)レコードが修正されます。
デフォルト値: 1
有効な値の範囲: 0または1
有効になるタイミング: 次のcompareで即時利用可能
このパラメーターは、repairプロセス中に一度に実行されるバッチDML操作の最大サイズを制御します。repairプロセスは、このパラメーター値で指定されたバッチサイズに達するまで、操作(I/U/D)を追加し続けます。このパラメーターは、クライアントプロセスが実行されるターゲット側で適用されます。
デフォルト: 1メガバイト
有効な値の範囲: 1~任意の正の整数
有効になるタイミング: 次のcompareで即時利用可能
このパラメーターは、バッチモードがオフのときのrepairに適用されます。これは、コミットされる必要がある単一トランザクションの数を決定します。
デフォルト値: 1,000
有効な値の範囲: 0~10,000
有効になるタイミング: 次のcompareで即時利用可能
このパラメーターは、compareでSHA256ハッシュを使用するかどうかを決定します。デフォルト値の0に設定すると、SHA256ハッシュを使用します。1に設定すると、SharePlexは内部チェックサム方式を使用して、テーブルデータをそのまま選択します。
注意:
|
デフォルト値: 0
有効な値の範囲: 0または1
有効になるタイミング: 次のcompareで即時利用可能
このパラメーターは、ドライバが1回のフェッチで結果セットを返そうとするか、複数のフェッチにまたがって返そうとするかを決定します。
このパラメーターを0に設定すると、ドライバは1回のフェッチを実行します。これにより、全体的な応答時間が向上しますが、その代償として追加メモリが必要になります。
このパラメーターに0以外の数値を設定すると、ドライバは、このパラメーターに設定されたサ イズに応じて、1回のフェッチまたは複数のフェッチを実行します。このパラメーターにユーザが設定したサイズが、Selectクエリが返す結果セットの実際のサイズより大きい場合、ドライバは1回のフェッチを実行します。そうでない場合は、複数のフェッチを実行します。複数のフェッチが使用される場合、フェッチのサイズはこのパラメーターの値によって決定されます。大きな結果セットの場合、複数のフェッチで行を取得することで、応答時間を改善し、タイムアウトの可能性を回避できます。
さらに、このパラメーターは、スループットと応答時間のバランスを調整することができます。
デフォルト値: 100
有効な値の範囲: 0~2147483647。サーバプロセスとクライアントプロセスの両方に適用されます。
有効になるタイミング: CompareまたはRepairコマンドの実行直後。
このパラメーターは、compare/repair操作中に、高度なデータ型の列にのみ適用されます。これらの列がcompare/repairされる際に、フェッチされた高度なデータ型に関連するデータを保持するバッファのサイズを調整します。パラメーターの値は、使用可能なシステムメモリとデータサイズに基づいて調整しなければなりません。
デフォルト: 1 MB
有効な値の範囲: 1~100の任意の整数(単位はMB)
有効になるタイミング: 次のcompareで即時利用可能
これらのパラメーターは、SharePlex Exportプロセスで使用されます。
これらのパラメーターは、SharePlex Importプロセスで使用されます。
これらのパラメーターは、SharePlexキューのプロパティを制御します。
これらのパラメーターは、SharePlex sp_copプログラムによって使用されます。
これらのパラメーターは、システム関連のSharePlexプロパティを制御します。
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center