サポートと今すぐチャット
サポートとのチャット

SharePlex 11.4 - 管理者ガイド

このガイドについて このガイドで使用される表記規則 SharePlexの概要 SharePlexの実行 SharePlexの複数のインスタンスの実行 sp_ctrlでのコマンドの実行 SharePlexパラメータの設定 データレプリケーションの設定 コンテナデータベースとの間のレプリケーションの設定 名前付きキューの設定 分割レプリケーションの設定 変更履歴ターゲットへのレプリケーションの設定 レプリケーション戦略の設定 DDLレプリケーションの設定 エラー処理の設定 データトランスフォーメーションの設定 セキュリティ機能の設定 SharePlexユーザのセキュリティグループへの割り当て 本番システムでのレプリケーションの開始 SharePlexの監視 レプリケーションの問題の防止と解決 非同期データのrepair Captureプロセスの調整 Postプロセスの調整 Oracleフェールオーバー後のレプリケーションのリカバリ アクティブなレプリケーション環境に対する変更 Oracleアプリケーションのパッチまたはアップグレードの適用 ソースまたはターゲットのOracleデータのバックアップ トラブルシューティングのヒント 付録A: ピアツーピア図 付録B: SharePlex環境変数

PostgreSQL用SharePlexパラメーター

PostgreSQLパラメーターは、PostgreSQLデータベースのレプリケーションのさまざまな側面を制御し、調整します。

内容

ユーザ設定可能なパラメーターの説明

このセクションでは、PostgreSQLデータベースのユーザ設定可能なSharePlexパラメーターについて説明します。この章に記載されていないパラメーターは内部パラメーターであり、Questの開発者またはテクニカルサポート担当者の指導の下でのみ変更してください。

パラメーターは以下のように分類されます。

Captureパラメーター

これらのパラメーターは、SharePlex Captureプロセスで使用されます。

SP_CAP_INCLUDE_UNCHANGED_COL

このパラメーターは、UPDATE操作の変更後イメージに未変更の列を含めるかどうかを制御します。デフォルトでは、SharePlexは変更された値のみを変更後イメージに含めます。

デフォルト: 0オフ

有効な値の範囲: 0または1

有効になるタイミング: 即時

SP_CAP_REDUCED_KEY

このパラメーターは、WALファイル内の操作のどの部分をCaptureによってターゲットに送信し、Postで使用するかを制御します。SharePlexの機能によって、Postプロセスで使用可能にする必要のあるデータの量が異なることがあります。

  • 0に設定すると、このパラメーターは、PostgreSQLがWALファイルに書き込むTEXT以外のすべてのデータを送信するようにCaptureに指示します。この設定によりネットワーク経由で送信されるデータが最大になりますが、SharePlexの特定の機能をサポートするためには必要です。
  • 1デフォルトに設定すると、このパラメーターは、キー値と、UPDATEの場合は操作で変更された列の変更前後の値を送信するようにCaptureに指示します。この設定はデフォルトです。この設定により、PostはWHERE句を作成する際に、変更された列の変更前後のcompareができるため、レプリケーションのパフォーマンスとターゲットデータ整合性のバランスが適切になります。SharePlexが変更前後の値をどのように使用するかについての詳細は、『SharePlex管理ガイド 』を参照してください。
  • 2に設定すると、このパラメーターは、キー値と、UPDATEの場合は、ターゲットに対して変更された列の変更後の値を送信するようにCaptureに指示します。この設定により、ネットワーク経由で送信されるデータ量が最小限になり、さらにPostがデータをポストする際にキー値のみを使用できるようになるため、パフォーマンスが向上します。

デフォルト: 1

有効な値の範囲: 0、1、2

有効になるタイミング: 即時

SP_CAP_ONELINE_DEBUG

このパラメーターは、Captureプロセスのオンラインデバッグ機能を制御します。

オンラインデバッグ機能により、システムリソースを大量に消費することなく、非同期エラーのデバッグを実行できます。オンラインデバッグでは、データストリームで非同期状態が発生した場所を検出するのに十分な情報を1行で記録します。問題を引き起こしているプロセスがオンラインデバッグで特定されたら、そのプロセスについて通常のデバッグを有効にすることができます。

このパラメーターを有効にするには、デバッグするオブジェクトをオブジェクトIDで指定し、それぞれをカンマで区切ります。例:

sp_ctrl>set sp_cap_oneline_debug 230230, 351626

以下の項目が記録されます。

  • SharePlexが使用するトランザクション識別子
  • 影響を受けたDMLまたはDDL操作のタイプ
  • 影響を受けるソーステーブルのオブジェクトID
  • 操作が行われた時刻PostgreSQL
  • トランザクションのLSN値
  • 冗長な操作を防ぐ内部SharePlexコード

 

デフォルト: 無効

有効な値の範囲: オブジェクトIDによりリストされるオブジェクトのリストを形成する文字列カンマで区切る

有効になるタイミング: 即時

SP_CAP_CHECKPOINT_FREQ

このパラメーターは、show captureコマンドによって発行されるチェックポイントの頻度を定義するために使用できるパラメーターの1つです。このパラメーターは、SP_CAP_CHECKPOINT_TIMEパラメーターと連動します。

デフォルト: 40,000メッセージ

有効な値の範囲: 任意の正の整数

有効になるタイミング: 即時

SP_CAP_CHECKPOINT_TIME

このパラメーターは、SP_CAP_CHECKPOINT_FREQパラメーターと連動します。Captureプロセスがチェックポイントを実行するまでの遅延時間を定義します。SP_CAP_CHECKPOINT_FREQに設定された値より前にこのパラメーターに設定された値に達すると、チェックポイントがトリガされます。チェックポイントは、障害リカバリに必要な場合に備えてプロセスの状態を保存します。

デフォルト: 120秒

有効な値の範囲: 任意の正の整数

有効になるタイミング: 即時

SP_CAP_DENIED_SESSION_PG

このパラメーターは、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セッションを同時にバインドするには、以下の手順を実行します。

  1. PostgreSQLデータディレクトリcd /var/lib/pgsql/13/data/に移動します。

  2. postgresql.confファイルを編集し、max_replication_slotsパラメーターのコメントを解除しますデフォルトではコメント化されているため、コメントを解除し、異なるオリジンにバインドする同時セッションの最大数より大きい値に設定する必要があります

  3. データベースを再起動します。

注意:

  • 有効なオリジンを追加するための構文は、sp_deny_nameです。ユーザ定義のオリジン名の前にsp_deny_プレフィックスを指定する必要があります。

  • max_replication_slotsの値は、セッションセットアップを行おうとする同時ユーザセッション数より大きくする必要があります。[例えば、ユーザが100セッションのオリジンセットアップを行おうとする場合、max_replication_slotsの値を100より大きく設定します]

Open Target Posterパラメーター

これらのパラメーターは、Open TargetOracle以外のターゲットにデータを適用する際にSharePlex Postプロセスで使用されます。

SP_OPX_REDUCED_KEY

このパラメーターはPostのWHERE句の内容を制御します。PostはWHERE句を使用して、ソースから複製されたUPDATEによって変更する必要がある行をターゲットで見付けます。SharePlexの機能によって、PostのWHERE句で使用する必要のあるデータの量が異なることがあります。

  • 0に設定すると、このパラメーターは、Captureから送信されるすべてのデータのWHERE句を作成するようにPostに指示します。Captureが送信するデータは、SP_OCT_REDUCED_KEYパラメーターの設定によって異なります。キーの値と、TEXT以外のすべての列をWHERE句に含めるには、両方のパラメーターを0に設定します。
  • 1に設定した場合、このパラメーターは、変更された列のキー値と変更前の値でWHERE句を構築するようにPostに指示します。この設定により、PostはWHERE句を作成する際に、変更された列の変更前後のcompareができるため、レプリケーションのパフォーマンスとターゲットデータ整合性のバランスが適切になります。この設定を使用するには、SP_OCT_REDUCED_KEYパラメーターを0または1に設定する必要があります。SharePlexが変更前後の値をどのように使用するかの詳細については、『SharePlex管理ガイド』を参照してください。
  • 2に設定すると、このパラメーターはキー列のみのWHERE句を作成するようにPostに指示します。この設定は、ポストのパフォーマンスを最大化するために使用できます。この設定では、変更された列の変更前後のcompareが省略されるため、SharePlex以外のプロセスやユーザがターゲットデータを変更できないようにする必要があります。

デフォルト: 0

有効な値の範囲: 0、1、2

有効になるタイミング: Postの再開時

SP_OPX_XML_MARK_NULL

このパラメーターは、ユーザがKafkaのターゲット出力形式としてXMLを選択した場合に、Null値をどのように表示するかを制御します。JSON形式は常にNULLである必要があります。NULL値をxsi:nil="true"として表示するには、Kafkaターゲットで SP_OPX_XML_MARK_NULLパラメーターを1に設定します。

デフォルト: 1

有効な値の範囲: 0または1

有効になるタイミング: プロセスの再開時

SP_OPX_CREATE_ORIGIN_PG

このパラメーターは、ターゲットがPostgreSQLの場合にのみ、Open Postに適用されます。これは、PostgreSQLデータベースにレプリケーションのオリジンを作成し、作成したオリジンにPostユーザセッションをバインドするために使用されます。これは、双方向レプリケーションピアツーピアレプリケーションで、Postプロセスによってポストされた操作がループバックするのを防ぐために有用です。有効にすると、Captureプロセスは、Postプロセスによってポストされたそのような操作を無視します。デフォルトでは無効になっています。

注: このパラメーターを有効にすると、各Postプロセスでオリジンが作成されます。作成されるオリジンの数は、PostgreSQLデータベースのmax_replication_slotsパラメーターによって決定されます。この結果、Postプロセスの数がこのパラメーターの値を超える場合は、パラメーターの値を増やしてデータベースを再起動してください。

デフォルト: 0無効

有効な値の範囲: 0または1

有効になるタイミング: Postの再開時

SP_OPX_LOG_CONFLICT

このパラメーターを使用すると、成功したコンフリクト解決プロシージャに関する情報を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の再開時

PostgreSQL Open Target Posterでサポートされる追加パラメーターのリスト

Oracle Posterパラメーター

これらのパラメーターは、Oracleターゲットにデータを適用する際にSharePlex Posterプロセスで使用されます。

SP_OPO_HINTS_LIMIT

このパラメーターは、ヒントファイルに記載できるヒントテーブルとインデックスの組み合わせの最大数を制御します。ヒントは、定義されたインデックスがあるテーブルに対してPostがフルテーブルスキャンを行っている場合にのみ、使用してください。大量のヒントを使用すると、Postプロセスのパフォーマンスが低下する可能性があります。

 

デフォルト: 100ヒント

有効な値の範囲: 任意の正の整数

有効になるタイミング: Postの再開時

Oracle Posterプロセスでサポートされる追加パラメーターのリスト

Readパラメーター

これらのパラメーターは、SharePlex Readerプロセスで使用されます。

SP_ORD_FIRST_FIND

このパラメーターは、レプリケートされた行の変更が列条件を満たすかどうかを判断するために、Readプロセスが列条件をチェックする方法を制御します。

  • デフォルトの1では、行の変更がある列条件を満たす場合、SharePlexはその行の変更が他の列条件も満たすかどうかをチェックしません。
  • 値が0の場合、SharePlexは列条件を満たすすべてのターゲットシステムにデータを送信します。

水平パーティショニングの詳細については、『SharePlex管理ガイド』を参照してください。

 

デフォルト: 1オン

有効な値の範囲: 0または1フラグ

有効になるタイミング: Readの再開時

SP_ORD_HP_IN_SYNC

このパラメーターは、水平分割レプリケーションで、列条件の列の値が変更され、行が条件を満たさなくなった場合に、データが適切にレプリケートされるようにするために使用します。これにより、SharePlexは以下を自動的に修正できます。

  • UPDATEにより、ある行が、その行のために作成された列条件とは異なる列条件を満たすようになり、変更が別の場所に送信される。例えば、列条件region=Eastである行に対するUPDATEにより、region列の値がWESTに変更されるとします。この操作は失敗します。なぜなら、その行に対する元のINSERTステートメントは元の場所東部地域にレプリケートされたため、Postが更新を試みたときには、その行が新しい場所西部地域に存在しないからです。
  • UPDATEにより、レプリケートされるはずのない行が列条件を満たし、レプリケートされる。例えば、region列がHEADQUARTERSの値行がレプリケートされないからWESTの値に更新されたとします。この操作は失敗します。なぜなら、その行の元のINSERTステートメント本社システムへのが西部地域のシステムにレプリケートされないため、Postはそこで更新を実行できないからです。

  • UPDATEにより、行がどの列条件も満たさなくなる。例えば、region列がWESTの値からHEADQUARTERSの値に更新されたとします。元のINSERTステートメントは西部地域のシステムにレプリケートされますが、新しい値が列条件を満たしていない本社データは共有されていないため、新しい値への更新はレプリケートされません。行は非同期になりますが、エラーは発生しません。

このパラメーターが有効な場合、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の再開時

PostgreSQL Readerプロセスでサポートされる追加パラメーターのリスト

Compare/Repairパラメーター

これらのパラメーターは、SharePlexのcompareおよびrepairコマンドのプロパティを制御します。

SP_DEQ_PG_FORCE_PARALLEL

このパラメーターは、PostgreSQLデータベースの実行中のセッションで並列クエリを使用できるようにします。

このパラメーターの値に基づいて、以下の値がPostgreSQLデータベースパラメーター、 force_parallel_mode (DB version < 16.0)/ debug_parallel_query (DB version >= 16.x)に割り当てられます。

0 - オフ

1 - オン

2 - 回帰

デフォルト値: 0

有効な値の範囲: 0~2

有効になるタイミング: 次のcompareで即時利用可能

注意:

  • SharePlexは、PostgreSQLデータベースオプティマイザがSELECTクエリで並列処理に割り当てるワーカースレッドの数を制御できません。

  • このパラメーターは、pg_hint_plan拡張機能ではサポートされていません。

SP_DEQ_PG_PARALLEL_MAX

このパラメーターは、PostgreSQLデータベースの実行中のセッションで、クエリに対して許可される並列ワーカースレッドの最大数を管理します。

このパラメーターの値は、PostgreSQLデータベースパラメーターのmax_parallel_workers_per_gatherに割り当てられます。

デフォルト値: 6

有効な値の範囲: 0~1,024

有効になるタイミング: 次のcompareで即時利用可能

 

注意:

  • SharePlexは、PostgreSQLデータベースオプティマイザがSELECTクエリで並列処理に割り当てるワーカースレッドの数を制御できません。

  • このパラメーターは、pg_hint_plan拡張機能ではサポートされていません。

SP_DEQ_PG_PARALLEL_SETUP_COST

このパラメーターは、実行中のセッションでPostgreSQLデータベースのparallel_setup_costパラメーターを設定するために使用します。

デフォルト値: 10

有効な値の範囲: 0~2147483647

有効になるタイミング: 次のcompareで即時利用可能

注意:

  • SharePlexは、PostgreSQLデータベースオプティマイザがSELECTクエリで並列処理に割り当てるワーカースレッドの数を制御できません。

  • このパラメーターは、pg_hint_plan拡張機能ではサポートされていません。

SP_DEQ_PG_PARALLEL_TUPLE_COST

このパラメーターは、実行中のセッションでPostgreSQLデータベースのparallel_tuple_costパラメーターを設定するために使用します。

デフォルト値: 0.001

有効な値の範囲: 0.0001~3.4E+38

有効になるタイミング: 次のcompareで即時利用可能

注意:

  • SharePlexは、PostgreSQLデータベースオプティマイザがSELECTクエリで並列処理に割り当てるワーカースレッドの数を制御できません。

  • このパラメーターは、pg_hint_plan拡張機能ではサポートされていません。

SP_DEQ_BATCH_ENABLED

1に設定すると、このパラメーターは repairプロセス中のバッチDML操作を有効にします。0に設定すると、repair中に一度に1つのトランザクションを実行することによって、同期外OOSレコードが修正されます。

デフォルト値: 1

有効な値の範囲: 0または1

有効になるタイミング: 次のcompareで即時利用可能

SP_DEQ_MAX_BATCH_MBYTES

このパラメーターは、repairプロセス中に一度に実行されるバッチDML操作の最大サイズを制御します。repairプロセスは、このパラメーター値で指定されたバッチサイズに達するまで、操作I/U/Dを追加し続けます。このパラメーターは、クライアントプロセスが実行されるターゲット側で適用されます。

デフォルト: 1メガバイト

有効な値の範囲: 1~任意の正の整数

有効になるタイミング: 次のcompareで即時利用可能

SP_DEQ_COMMIT_FREQ

このパラメーターは、バッチモードがオフのときのrepairに適用されます。これは、コミットされる必要がある単一トランザクションの数を決定します。

デフォルト値: 1,000

有効な値の範囲: 0~10,000

有効になるタイミング: 次のcompareで即時利用可能

SP_DEQ_USE_SP_CKSUM

このパラメーターは、compareでSHA256ハッシュを使用するかどうかを決定します。デフォルト値の0に設定すると、SHA256ハッシュを使用します。1に設定すると、SharePlexは内部チェックサム方式を使用して、テーブルデータをそのまま選択します。

注意:

  • 大規模なテーブルでこのパラメーターを1に設定すると、パフォーマンスに影響する可能性があります。hash_valuesの方が、そのままのテーブルデータを処理するよりも大幅に時間がかからないからです。

  • テーブルにキー列がなく、いずれかの列にNULL値がある場合、パラメーター SP_DEQ_USE_SP_CKSUMを1に設定して、compareおよびrepair操作を実行する必要があります。

デフォルト値: 0

有効な値の範囲: 0または1

有効になるタイミング: 次のcompareで即時利用可能

SP_DEQ_PG_DECLARE_FETCH_SIZE

このパラメーターは、ドライバが1回のフェッチで結果セットを返そうとするか、複数のフェッチにまたがって返そうとするかを決定します。

このパラメーターを0に設定すると、ドライバは1回のフェッチを実行します。これにより、全体的な応答時間が向上しますが、その代償として追加メモリが必要になります。

このパラメーターに0以外の数値を設定すると、ドライバは、このパラメーターに設定されたサ イズに応じて、1回のフェッチまたは複数のフェッチを実行します。このパラメーターにユーザが設定したサイズが、Selectクエリが返す結果セットの実際のサイズより大きい場合、ドライバは1回のフェッチを実行します。そうでない場合は、複数のフェッチを実行します。複数のフェッチが使用される場合、フェッチのサイズはこのパラメーターの値によって決定されます。大きな結果セットの場合、複数のフェッチで行を取得することで、応答時間を改善し、タイムアウトの可能性を回避できます。

さらに、このパラメーターは、スループットと応答時間のバランスを調整することができます。

デフォルト値: 100

有効な値の範囲: 0~2147483647。サーバプロセスとクライアントプロセスの両方に適用されます。

有効になるタイミング: CompareまたはRepairコマンドの実行直後。

PostgreSQL用のSP_DEQ_READ_BUFFER_SIZE

このパラメーターは、compare/repair操作中に、高度なデータ型の列にのみ適用されます。これらの列がcompare/repairされる際に、フェッチされた高度なデータ型に関連するデータを保持するバッファのサイズを調整します。パラメーターの値は、使用可能なシステムメモリとデータサイズに基づいて調整しなければなりません。

デフォルト: 1 MB

有効な値の範囲: 1~100の任意の整数単位はMB

有効になるタイミング: 次のcompareで即時利用可能

Exportパラメーター

これらのパラメーターは、SharePlex Exportプロセスで使用されます。

Importパラメーター

これらのパラメーターは、SharePlex Importプロセスで使用されます。

Queueパラメーター

これらのパラメーターは、SharePlexキューのプロパティを制御します。

sp_copパラメーター

これらのパラメーターは、SharePlex sp_copプログラムによって使用されます。

Systemパラメーター

これらのパラメーターは、システム関連のSharePlexプロパティを制御します。

関連ドキュメント

The document was helpful.

評価を選択

I easily found the information I needed.

評価を選択