Postプロセスの統計情報を表示するには、show postコマンドを使用します。
基本的なshow postコマンドは、Postプロセスの全セッションのグローバル統計情報を表示します。Postプロセスのステータスと、そのプロセスが開始されてからポストされたメッセージの数が表示されます。特定のpostキューまたはデータソースの出力をフィルタリングするには(複数のレプリケート対象データストリームがある場合に便利)、queue queuenameまたはfor datasource-datadestオプションを使用します。
Postプロセスの詳細な統計情報を表示するには、show postコマンドにdetailオプションを指定します。このオプションは、処理された最新のSQLステートメントと、Postのパフォーマンスを評価し、チューニングパラメーターを調整する必要があるかどうかを決定し、問題やボトルネックを検出するのに役立つその他の統計情報を表示します。
以下では、show postで表示される詳細な統計情報の例について説明します。これらの統計情報は、ソースとターゲットのタイプによって若干異なります。
統計情報 | 説明 |
---|---|
Host(ホスト) | ローカルマシンの名前(ターゲットシステム) |
Source(ソース) | Postが処理するデータのソース。 |
Queue(キュー) | このPostプロセスのPostキュー。デフォルトのPostキューの場合は、ソースシステムの名前です。名前付きキューの場合は、ユーザ定義名です。 |
Target(ターゲット) | このPostプロセスのターゲットの名前。例えば、PostgreSQLインスタンスまたはOpen Targetデータベースの名前です。 |
Status(ステータス) |
Postプロセスのステータス(実行中または停止中)。可能なステータスは以下の通りです。
|
Operations posted(ポストされた操作数) Operations processed(処理された操作数) |
このPostプロセスが開始後に処理したトランザクション操作とSharePlex内部操作の数。 |
Since(開始時刻) | Postが開始された時刻 |
Total(合計) | キュー内のまだ読み取り-リリースされていないメッセージの数。この数字は、qstatusを実行して返された「メッセージ数」に相当します。(TOTALの値は時間とともに減少し、QSTATUSのメッセージ数と同じ値を示します) |
Backlog(バックログ) | Postが処理するのをキューで待機しているメッセージの数。 |
Last operation posted(ポストされた最後の操作) |
Postがアクティブな場合はターゲットにポストされている最新の操作、非アクティブな場合は最後にポストされた操作の識別情報。この情報は、データを生成したデータストアのタイプに固有です。操作の内容は以下の通りです。
|
Last transaction posted(ポストされた最後のトランザクション) |
最後にポストされたトランザクションの識別情報。この情報は、データを生成したデータストアのタイプに固有です。 |
Post state(Postの状態) |
実行対象のレプリケーション作業に関連するPostプロセスの状態。以下のいずれかが該当します。
|
Activation ID(アクティベーションID) | 現在の設定のアクティベーションID。この値は、アクティベーション直後の、DMLレプリケーションが開始される前に表示される必要があります。 |
Operations processed(処理された操作数) |
COMMITを受け取ったかどうかにかかわらず、Postがターゲットに適用したSQL操作の数。 |
Transactions processed(処理されたトランザクション数) |
開始以後にPostがターゲットに適用したコミット済みトランザクションの数。 |
Insert operations(INSERT操作数) | Postが開始後に処理したINSERT操作の数。 |
Update operations(UPDATE操作数) | Postが開始後に処理したUPDATE操作の数。 |
Delete operations(DELETE操作数) | Postが開始後に処理したDELETE操作の数。 |
レイテンシ | レプリケーションの処理に要した時間(ソースのデータベースが要した時間を除く) |
サポート対象のソース: |
|
サポート対象のターゲット: | PostgreSQL、Oracle、SQL Server、Kafka、Amazon RDS for PostgreSQL、Amazon Aurora for PostgreSQL、Azure Database for PostgreSQL Flexible Server、Google Cloud SQL for PostgreSQL |
発行対象: | ターゲットシステム |
関連コマンド: | show capture |
基本コマンド | コマンドオプション |
---|---|
show post |
[detail] [queue queuename] [fordatasource-datadest] [sessions] |
コンポーネント | 説明 |
---|---|
show post |
|
detail |
このオプションはPostプロセスの詳細な統計情報を表示します。 例: sp_ctrl(sysB)> show post detail |
queuequeuename |
このオプションはshow postの表示を特定のpostキューに対してフィルタリングします。
キュー名が不明な場合は、qstatusコマンドを実行します。キュー名はすべてのプラットフォームで大文字と小文字が区別されます。 このオプションは、他のオプションと共に任意の順序で表示できます。 例: sp_ctrl(sysB)> show post queue sysA |
fordatasource-datadest |
このオプションはshow postの表示を特定のデータストリームに対してフィルタリングします。
このオプションは、他のオプションと共に任意の順序で表示できます。 例: sp_ctrl(sysB)> show post for r.dbnameA-r.ssB |
sessions |
PostgreSQLターゲットの場合、このオプションはPostプロセスによって生成されたすべてのスレッドの統計情報を表示します。 シングルスレッドであるOpenターゲットの場合、このオプションを使用すると、そのスレッドの詳細を表示できます。 このオプションは、他のオプションと共に任意の順序で表示できます。 例: sp_ctrl(sysB)> show post sessions queue queuename |
Postプロセスがターゲットに適用した最後のトランザクションのPostgreSQL LSNを表示するには、show_last_postedコマンドを使用します。このコマンドは、複数のpostキューを使用している場合、最後のLSNをすべて表示します。
sp_ctrl (sysB)>show last_posted
$> show_last_posted r.dbname1
For resume replication from r.dbname1
On source activate to pglsn=<LSN in hexadecimal format>
reconcile queue sp01 for r.dbname1-r.dbname1 pglsn <LSN1 in hexadecimal format>
reconcile queue sp02 for r.dbname1-r.dbname1 pglsn <LSN2 in hexadecimal format>
reconcile queue sp03 for r.dbname1-r.dbname1 pglsn <LSN3 in hexadecimal format>
注意: このコマンドは、LSN情報を取得するためにすべてのPostプロセスを停止します。
サポート対象のソース: |
|
サポート対象のターゲット: | PostgreSQL、Oracle、SQL Server、Kafka、Amazon RDS for PostgreSQL、Amazon Aurora for PostgreSQL、Azure Database for PostgreSQL Flexible Server、Google Cloud SQL for PostgreSQL |
認証レベル: | ビューアー(3) |
発行対象: | ターゲットシステム |
関連コマンド: |
activate config |
基本コマンド |
---|
show last_posted |
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プロパティを制御します。
SharePlexユーティリティは、SharePlex環境の設定、テスト、管理に役立ちます。
© 2024 Quest Software Inc. ALL RIGHTS RESERVED. Términos de uso Privacidad Cookie Preference Center