compareおよびcompare usingコマンド(まとめてcompareコマンドと呼びます)を使用して、ターゲットテーブルがソーステーブルと同期していることを確認します。
compareを実行した後、repairコマンドまたはrepair usingコマンドを実行し、同期していない行をrepairすることができます。
注意: 実行中のcompareまたはrepairは、ソーステーブルには一切影響を与えません。SharePlexは、読み取りの一貫性についてのクエリを実行するためだけにデータベースにログインし、ソーステーブルのロックは短時間です。SharePlexは、処理中にターゲットテーブルを短時間ロックしますが、ユーザはロックをほとんど意識することなくアクセスを継続できます。
SharePlexは、DML操作(INSERT、UPDATE、DELETE)によって発生した、ターゲットテーブル内の非同期行を検出し、repairすることができます。
SharePlexは、以下のcompareとrepairをサポートせずにスキップします。
シーケンス
compareまたはrepair中のテーブルに対してDDLを実行しないでください。compareは、SharePlexがサポートするものも含め、DDL操作によって引き起こされる非同期状態を検出しません。DDLがテーブル定義を変更すると、compareする必要がある行を取得するためにcompareプロセスにより作成されたSELECTステートメントが無効になります。
DDLによって発生した非同期状態を修正したら、repairコマンドを使用して行のデータを再同期することができます。
compareおよびcompare usingでサポートされるデータ型の詳細については、『SharePlexリリースノート』を参照してください。
レプリケーションのレイテンシは、compareやrepairの処理のパフォーマンスを低下させる可能性があります。ターゲット上でcompareおよびrepairプロセスを生成するためにソースから送信されたメッセージは、複製されたデータと共にキューを通じて送信されます。データバックログによる遅延が生じると、生成メッセージの送信が遅れることにより、プロセスが読み取りの一貫性を失うことがあります。可能であれば、compareやrepairはピーク以外の時間帯に行います。
ビューをrepairするには、以下が真でなければなりません。
Compareプロセスのパフォーマンスを向上させるために、SharePlexはSP_DEQ_PARALLELISMパラメーターによる並列ヒントをサポートしています。このため、並列度、つまり起動するワーカープロセスの数を指定できます。
デフォルトでは、PostgreSQLデータベースオプティマイザはSQLステートメントに最適な問い合わせ実行計画を選択します。これは、並列ヒントで指定した並列度に直接関連していないこともあります。pg_hint_planにより、クエリを実行するたびに配列ヒントを使用して実行計画を調整することができます。SharePlexは、データベースにpg_hint_plan拡張機能がインストールまたは設定されている場合、内部でこれを利用します。
並列クエリを使用するための構文の例は以下の通りです。
pg_hint_plan拡張機能は並列ヒントをサポートしています。Parallel(table <# of workers> [soft|hard])
SharePlexはハードパースをサポートする並列ヒントを使用します。Parallel(table <# of workers> [hard])
注意: ワーカーの数は、データベースシステムのCPU VCoreより少なくなければなりません。
以下のシナリオでは、compareを実行する際に特別な処理が必要となります。
使用例 | サポートcompare |
---|---|
統合レプリケーション |
統合レプリケーションは、ターゲットデータベースとPostプロセスがソースホストのIDを各行に追加するように設定されている場合にサポートされます。中央のターゲットテーブルの正しい行をcompareまたはrepairするには、targetwhereオプションを使用し、ソースID値をwhere句の基準にします。 例えば、ある企業の東部本社のデータベースのテーブルと、中央の企業データベースの正しい行をcompareするには、東部データベースのソースIDに「East」を使用し、その値をtargetwhere句の基準にすることができます。repairコマンドで同じtargetwhere句を使用します。compareプロセスおよびrepairプロセスは、ソースID値を使用して、東部データベースに有効な行のみを選択します。 ソースIDを特定する統合レプリケーション以外の実装でcompareコマンドやrepairコマンドを使用すると、ターゲット行が不要に削除される可能性があります。この設定の詳細については、『SharePlex管理ガイド』を参照してください。 ターゲット行が正確に選択されるように、targetwhereオプションと標準のwhereオプションを組み合わせる必要があるかもしれません。 |
ピアツーピアレプリケーション |
ピアツーピア構成では、どのシステムを信頼できるソースシステムとし、どのシステムをセカンダリシステム、つまりターゲットシステムとするかを決めなければなりません。セカンダリシステムは、repairが行われるシステムです。ピアツーピア環境でcompareやrepairを実行する前に、以下の手順に従ってください。
この設定の詳細については、『SharePlex管理ガイド』を参照してください。 |
キーのないテーブル |
compareおよびrepairコマンドは、ソースおよびターゲットシステム上でORDER BY句付きのSELECTステートメントを発行します。大規模なテーブルにプライマリキーまたはNULL以外の一意キーとインデックス(一意のインデックスが望ましい)を持つ場合、順序付けはより速くなります。それ以外の場合は、すべての列がキーとして使用されます。 一意の行識別子はないが、一意の行として識別できる列がテーブルに1つ以上ある場合、orderbyオプションを指定してcompareコマンドを使用できます。このオプションを使用すると、SharePlexは、ソースシステム上のsp_xdesvrログに、コマンドがこれらの列をキーとして使用したという通知を出力します。 制限事項: SharePlexレプリケーションで、重複データを含む非キー列を含むテーブルを使用する場合、レプリケーションまたはcompare・repair処理でデータの不整合が発生する可能性があります。 |
余分なソース列またはターゲット列があるテーブル |
ソーステーブルまたはターゲットテーブルに余分な列があり、それらの列にソートの基準となる一意の値が含まれている場合は、sourcewhere句またはtargetwhere句とともにcompareコマンドを使用します。「compareする行の制御」を参照してください。 |
compareは、DML操作によって引き起こされる次のようなターゲットテーブルの非同期状態を検出します。
ソースシステムでcompareコマンドまたはcompare usingコマンドを実行すると、SharePlexは以下のイベントを開始します。
行数がサニティチェックに合格すると、テーブルは以下のようにcompareされます。
compareおよびrepairコマンドは、すべての非同期行をrepairするために必要なSQLを、ログファイルと同じ場所にあるSQLファイルに書き込みます。compareコマンドのみが発行された場合、SharePlexはこれらのSQLステートメントを実行しません。repairコマンドを実行した場合、このコマンドは、非同期行をrepairするSQLステートメントを実行すること以外はcompareコマンドと同じように動作します。
SQLログファイルの出力を抑制することができます。このファイルを抑制する理由には以下のようなものがあります。
SQLログファイルを抑制するには、nosqllogオプションをcompareまたはrepairコマンドで使用します。
SharePlexの現在のインスタンスの実行中に、compareとrepairのすべての実行についてSQLログファイルの出力を抑制するには、SP_SYS_SECURE_MODE環境変数を1に設定します。この変数はSharePlexを起動する前に設定する必要があるため、sp_copプロセスが実行されている場合は、この変数を設定した後に再起動する必要があります。この環境変数を指定してsp_copを実行すると、compareコマンドとrepairコマンドによってSQLファイルにデータは保存されず、Post処理でもSharePlexのエラーログにデータは保存されません。
すべてのcompareおよびrepairコマンドでは、複数のプロセスを同時に実行することができます。複数のcompareおよびrepairコマンドを同時に実行し、それぞれがソーステーブルとターゲットテーブルのペアを処理することも、PostgreSQLのワイルドカードを使用して1つのコマンドで複数のテーブルセットを指定することもできます。SharePlexによるワイルドカードのサポートの詳細については、『SharePlex管理ガイド』を参照してください。
レプリケーションプロセスとcompareおよびrepairプロセスなど、最大で20のSharePlexプロセスでpostキューを同時に使用することができます。一度に最大で5つのcompareおよびrepairプロセスを実行できるようにすることをお勧めします。
制限に達したためにcompareやrepairに失敗した場合、SharePlexはイベントログにメッセージを記録します。
注意: editコマンドを使用し、以前のコマンドを編集して新しいコマンドを作成すれば、複数のコマンドをより簡単に実行できます。
アクティブな設定のサブセットは、以下の方法でcompareできます。
1つのスキーマに属するレプリケーション内の全テーブルをcompareするには、以下のようにcompareコマンドにワイルドカードを指定します。
sp_ctrl> compare scott.%
設定ファイル内の全テーブルをcompareするには、compare usingコマンドを使用します。
sp_ctrl> compare using myconfig
レプリケーション内の全テーブルを1つのターゲットルートとcompareするには、以下のようにatオプションを指定してcompare usingコマンドを使用します。
sp_ctrl> compare using config.active at prodsys@r.database_name
compareおよびrepairコマンドには、処理の対象として選択する行をフィルタリングできるwhereオプションがあります。デフォルトでは、これらのコマンドはテーブルのすべての行に影響し、ソーステーブルに含まれていないターゲットテーブルの列は無視されます。
whereオプションを使用すると、ソーステーブルとターゲットテーブルの同じ名前の列に基づいて行をフィルタリングすることができます。
ソーステーブルまたはターゲットテーブルに1つ以上の余分な列が存在し、それらの行に行の一意性を決定する値が含まれている場合は、sourcewhereおよびtargetwhereオプションを使用します。
このオプションを正しく使用するには:
ソースとターゲットの両方で同じ名前を持つ他の列には、標準のwhereオプションを使用します。
重要! 余分な行を持つターゲットテーブルに対してcompareとrepairの両方を実行する予定がある場合は、UPDATEとDELETEのcompare用にtargetwhereのみを使用してください。repairコマンドはINSERTの正しい値を決定できません。この問題を回避するには、余分な列にデフォルト値を設定するか、挿入された行を手動で更新します。
compareまたはrepairコマンドが発行されるたびに、ジョブIDがsp_ctrlディスプレイに表示されます。sp_ctrlディスプレイを利用できない場合は、compare statusコマンドを実行することでジョブIDを表示できます。
compareのステータスや結果を表示するには、sp_ctrlのcompare statusコマンドを使用します。
詳細については、compare status を参照してください。
sp_xdesvrおよびsp_xdecltプロセスは、実行するシステム上にログファイルを書き込みます。SharePlexの変数データディレクトリのlogサブディレクトリにあるファイルを開きます。
sp_xdesvrプロセスが書き込むログの名前はxdesvr_<jobid>_r.<dbid>_p<process id>.logです。ここで、
sp_xdecltプロセスが書き込むファイル名は、xdeclt_<jobid>-<tableid>_r.<dbid>_p<processid>.logに.logまたは.sqlを付加したものです。ここで、
ログファイル名の例:
xdesvr_7_r.aparopka_p4970.log
xdeclt_7-1_r.aparopka_p25095.log
xdeclt_7-1_r.aparopka_p25095_01.sql
ディスク使用量を制御するために、ログは循環方式でエージングされます。現在のログがサイズの限界に達すると、SharePlexは新しいログファイルを生成します。新しいログは最大ログ数まで作成され、その後、SharePlexは最も古いログから上書きを開始します。
注意: compare usingコマンドの場合は、稀に複数のログファイルが存在します。
実行中のcompareまたはrepairジョブを停止するには、cancelコマンドを使用します。
sp_ctrl(sysA)>cancel JOBID
詳細については、「cancel」を参照してください。
SharePlex は、終了した各ジョブの履歴をソースシステムのデータベースに保持します。SP_SYS_JOB_HISTORY_RETENTIONパラメーターは、履歴の保持期間を制御します。
この履歴を必要に応じて消去するには、clear historyコマンドを使用します。SharePlexがジョブの履歴を削除すると、履歴の元となったログファイルも削除されます。
データベースのジョブ履歴を消去せずにソースシステムからログファイルを削除するには、remove logコマンドを使用します。このコマンドは、ターゲットシステムから古いログファイルを削除するためにも使用できます。
ログファイルのサイズを制御するには、SP_DEQ_LOG_FILESIZEパラメーターを設定します。
INSERT、UPDATE、DELETEの各操作に対して別々のSQLファイルを作成するには、すべての操作タイプに対して1つのファイルを使用するのではなく、log splitオプションを使用します。
プロセスがSELECTクエリを実行するときにフェッチされる行のブロックのサイズを制御することができます。ブロックサイズは、SP_DEQ_MALLOCパラメーターで設定された値に基づいて計算されます。この値は、使用されるcompareスレッドの数で等分され、その後、すべての列のサイズを足した値に基づいて再計算されます。
compareによって検出された非同期行をrepairするには、repairコマンドまたはrepair usingコマンドを使用します。repair / repair usingを参照してください。
サポート対象のソース: | PostgreSQL |
サポート対象のターゲット: | PostgreSQL |
認証レベル: | オペレーター(2) |
発行場所: | ソースシステム |
関連コマンド: | repair / repair using |
コマンド | コマンドオプション | リモートオプション |
---|---|---|
compare owner.source_table[.partition] |
[ at target_host@r.target_db ] | [ forr.source_db ] | [ {include | exclude} "column_list" ] | [key] | [ log rowdata ] | [ log split ] | [ {nolocksource | nolocktarget} ] | [ nosqllog ] | [ not "exception_list" ] | [ orderby "column_list” ] | [Override parameter to the compare and repair command] | [ parallelism degree ] | [ quickcheck ] | [ sourcewhere “clause” ] | [ threadsthread_count ] | [ targetwhere “clause” ] | [ totarget_owner.target_table[.partition] ] | [ where “clause” ] |
[ on host | on host:portnumber | on login/password@host | on login/password@host:portnumber ] |
compare using filename |
[key] | [log rowdata] | [log split] | [parallelismdegree] | [port port_number] | [quickcheck] | [threadsthreads_count] |
[ on host | on host:portnumber | on login/password@host | on login/password@host:portnumber ] |
必須のコマンドコンポーネント
コンポーネント | 説明 |
---|---|
compare owner.source_table[.partition] |
基本コマンドは、すべてのソース行をすべてのターゲット行とcompareします。 owner.source_tableは、ソーステーブルの所有者と名前です。大文字と小文字を区別したり、名前の中にスペースを入れたりするには、二重引用符を使います。例えば、"HR".emp。 ワイルドカードのテーブル名(オーナー名は不可)がサポートされています。compareするためには、このコマンドのワイルドカードを満たすテーブルがアクティブなレプリケーション設定に(明示的またはワイルドカードで)リストされていなければなりません。SharePlexがワイルドカードをどのように処理するかについては、『SharePlex管理ガイド』を参照してください。 例 sp_ctrl(sysA)>compare scott.emp sp_ctrl(sysA)>compare scott.emp.west |
compare using filename |
基本コマンドは、filenameにリストされたテーブル内のすべてのソース行とすべてのターゲット行をcompareします。 filenameは、compareするソーステーブルの名前が含まれているファイルの名前です。 例 sp_ctrl(sysA)>compare using sales |
オプションのコマンドコンポーネント
コンポーネント | 説明 |
---|---|
at target_host@r.target_database_name |
compareに有効 ソーステーブルをそのターゲットの1つとのみcompareします。ソーステーブルが複数のターゲットシステムにレプリケートされる場合に使用します。 target_hostはターゲットシステムの名前です。 target_dbはターゲットデータベース名の名前です。 例 sp_ctrl(SysA)>compare scott.emp at prod@r.database_name |
for r.DBID |
compareに有効 ソーステーブルを含むPostgreSQLインスタンスを指定します。システム上の複数のPostgreSQLインスタンスに同じソーステーブルがある場合に使用します。 DBIDはPostgreSQLソースインスタンスのデータベース名です。大文字と小文字は区別され、configファイルに表示される通りに入力する必要があります。 このオプションを使用する場合は、必要なコマンド引数の後に記述する必要がありますが、他のオプションと共に任意の順序で記述できます。 例 sp_ctrl (SysA)>compare scott.emp for r.database_name |
{include | exclude} "(column_list") |
compareに有効 compareする列をフィルタリングします。
(column_list)は、インクルードまたは除外する列のリストです。
注意: compareされなかった列には、同期していない行がまだ残っている可能性があります。 例 sp_ctrl (SysA)>compare scott.emp exclude "color, weight" |
key |
compareおよびcompare usingに有効 大きなテーブルのcompareを高速で実行します。このコマンドはすべてのデータ値をcompareするわけではありません。以下のいずれか1つをcompareします。
重要: キーまたはorderbyの値が一致しても、他の列の値が一致しなければ、テーブルは同期しないままです。 このオプションを使用する場合は、必須コマンド引数の後に記述しなければなりません。他のオプションとともに任意の順序で表示できます。 このオプションは、SharePlexキー定義に基づくcompareには使用しないでください。SharePlexキー定義の詳細については、『SharePlex管理ガイド』を参照してください。 例 sp_ctrl (SysA)>compare scott.emp key sp_ctrl(sysA)>compare using sales key |
log rowdata |
compareおよびcompare usingに有効 ハッシュ値ではなく、実際の行データを記録するSQLファイルを生成するようにクライアントプロセスに指示します。ファイルはターゲットシステムに作成されます。これらのデータ型の値が非常に大きい場合、SharePlexは実際のデータを記録できない可能性があります。 重要! このSQLファイルの目的は、compareされたデータのビューを提供することです。ターゲットテーブルをrepairするために使用しないでください。コマンド実行時に取得されたデータ値は、現在データベースに登録されている値とは異なる可能性があります。非同期の行をrepairするには、repairコマンドを使用します。 例 sp_ctrl(sysA)>compare scott.emp log rowdata sp_ctrl(sysA)>compare using sales log rowdata |
log split |
compareおよびcompare usingに有効 SQLファイルを操作の種類に応じて3つの異なるファイル(INSERT用、UPDATE用、DELETE用)に分割するように、クライアントプロセスに指示します。 例 sp_ctrl(sysA)>compare scott.emp log split sp_ctrl(sysA)>compare using sales log split |
{nolocktarget | nolocksource} |
compareに有効 repairを含む実行のcompareフェーズ中に、compareプロセスがテーブルをロックするのを防ぎます。通常、SharePlexはcompare中に一時的にテーブルをロックして読み取り一貫性ビューを取得し、その後すぐにロックを解除しますが、repair中は、SharePlexは常にターゲットテーブルをロックします。SharePlexは、読み取り一貫性ビューを取得するために、repair中はソーステーブルを一時的にロックします。 例 sp_ctrl(sysA)>compare scott.emp nolocksource sp_ctrl(sysA)>compare scott.emp nolocktarget |
nosqllog |
SQLログファイルの出力を抑制します。このファイルには、同期していない行をrepairするために必要なSQLが含まれています。このファイルを出力しない理由には、以下のようなものがあります。
|
not “exception_list” |
compareに有効 テーブル指定にワイルドカードが含まれている場合に、compareしないテーブルの例外リストを指定します。 "exception_list"は、compareしないテーブル名のリストです。
例 sp_ctrl(SysA)>compare scott.% not (%temp%) |
orderby "column_list" |
compareに有効 compareプロセスでcompareする行をソートする際に、ORDERBY句で使用する列を指定します。このオプションを使用すると、プライマリキーや一意キーを持たないテーブルでcompareを実行できます。 "column_list"は、ORDERBY句で使用する列の名前です。
例 sp_ctrl(SysA)>compare scott.emp where “file >001005” orderby “Last Name,Division” オペレーティングシステムのコマンドラインからcompareを実行する場合、引用符で囲まれた文字列には、以下のようにエスケープされた二重引用符の余分なセットが必要です。 /productdir/bin/sp_ctrl compare scott.emp orderby “\“Last Name,Division\”” |
override |
compareおよびcompare usingに有効 サニティチェックをオーバーライドし、サニティチェックのしきい値を超えて、同期していないテーブルのcompareを行えるようにします。ターゲットテーブルを再同期するには、ターゲットデータベース/テーブルのインスタンス化に使用される初期プロセスに類似した代替的な方法を使用します。サニティチェックの詳細については、「compareの仕組み」を参照してください。 例: SP_ctrl (sysA) > compare scott.emp override SP_ctrl (sysA) > compare using sales override |
quickcheck |
compareおよびcompare usingに有効 同期していない行があるかどうかを確認する初期チェックを実行します。同期していない行が1つでも検出されると、プロセスは直ちに停止します。それ以上の情報は返されません。同期していない行の情報はcompareのSQLファイルに記録されません。 このオプションは、keyオプションや、whereオプションのいずれかと併用しないでください。 このオプションはLONG列をサポートしていません。 例 sp_ctrl(sysA)>compare scott.emp quickcheck sp_ctrl(sysA)>compare using sales quickcheck |
parallelism degree |
compareおよびcompare usingに有効 SELECTステートメントに並列ヒントを追加します。degreeでは、並列度を設定します。 例 sp_ctrl(sysA)>compare scott.emp parallelism 4 sp_ctrl(sysA)>compare using sales parallelism 4 |
sourcewhere “clause” |
compareに有効 ターゲットテーブルに列が存在しない場合に、ソーステーブル内の1つまたは複数の列を基にcompareを行います。ソーステーブル上でこの条件によってフィルタリングされた行はロックされます。
例#1: sp_ctrl(sysA)>compare scott.emp sourcewhere “file >001005” 例#2: 次の例は、sourcewhereおよびwhereオプションをどのように組み合わせて、望ましい結果を得るかを示しています。sourcewhere句はソースcompareプロセスのみが使用しますが、where句はソースcompareプロセスとターゲットcompareプロセスの両方が使用します。 sp_ctrl(SysA)>compare scott.emp sourcewhere “deptno = 200” where “mgr = ‘SMITH’” |
targetwhere "clause" |
compareに有効 ソーステーブルに列が存在しない場合に、ターゲットテーブル内の1つまたは複数の列を基にcompareを行います。ターゲットテーブル上でこの条件によってフィルタリングされた行はロックされます。
例#1: sp_ctrl(SysA)> compare scott.emp targetwhere “file >001005” 例#2: 次の例は、targetwhereおよびwhereオプションをどのように組み合わせれば、望ましい結果が得られるかを示しています。targetwhere句はターゲットcompareプロセスのみが使用しますが、where句はソースcompareプロセスとターゲットcompareプロセスの両方が使用します。 sp_ctrl(SysA)>compare scott.emp where “deptno = 200” targetwhere “mgr = ‘SMITH’” repair |
threads thread_count |
compareおよびcompare usingに有効 compareプロセスが使用する処理スレッドの数を設定します。 例 sp_ctrl(sysA)>compare scott.emp threads 4 sp_ctrl(sysA)>compare using sales threads 4 |
to target_owner.target_table[.partition] |
compareに有効 ソーステーブルをそのターゲットの1つとのみcompareします。ソーステーブルが複数のターゲットシステムにレプリケートされ、ターゲットテーブルに異なる名前がある場合に使用します。 このオプションはターゲットパーティションを指定するためにも使用できます。 compare source_owner.source_table.[source_partition] to target_owner.target_table.[target_partition] 例 (パーティションのcompare) sp_ctrl(SysA)>compare scott.emp.east to scott.allemp.alleast |
where “clause” |
compareに有効 ソースシステムとターゲットシステムの両方で、SELECTステートメントにWHERE句を含めます。WHERE句は、特定の行をcompareするためのフィルタとして機能します。この条件によってフィルタリングされた行はロックされます。 “clause"には、サブクエリを含まない標準のWHERE句を指定します。
例 sp_ctrl (SysA)>compare scott.emp where “region=4” |
これらのオプションにより、リモートマシンにコマンドを発行したり、ログイン名、パスワード、ポート番号、またはそれらの組み合わせを含むコマンドをスクリプト化したりすることができます。
オプション | 説明 |
---|---|
on host |
リモートシステム(現在のsp_ctrlセッションが実行されているシステム以外)でコマンドを実行します。リモートシステムのログイン認証情報の入力を求めるプロンプトが表示されます。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on SysA |
on host:portnumber |
リモートログインとポート番号を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on SysA:8304 |
on login/password@host |
リモートログイン、パスワード、ホスト名を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例:sp_ctrl(sysB)>status on john/spot5489@SysA |
on login/password@host:portnumber |
リモートログイン、パスワード、ホスト名、ポート番号を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on john/spot5489@SysA:8304 |
compare statusコマンドを使用して、最後に実行されたcompareまたはrepairジョブのステータスを表示します。compare statusコマンドを使用すると、compareジョブやrepairジョブ、またはcompareジョブやrepairジョブの一部に関する詳細なステータスを表示したり、SharePlexに履歴があるすべてのcompareジョブおよびrepairジョブのステータスを表示したりできます。
注意: compare statusコマンドの詳細および使用例については、job statusコマンドを参照してください。
サポート対象のソース: | PostgreSQL |
サポート対象のターゲット: | PostgreSQL |
認証レベル: | ビューアー(3) |
発行場所: | ソースシステム |
関連コマンド: |
基本コマンド | コマンドオプション | リモートオプション |
---|---|---|
job status |
[job_id] [Job_id.table_id] [all] [full] [detail] [status] |
[ on host | on host:portnumber | on login/password@host | on login/password@host:portnumber ] |
コンポーネント | 説明 |
---|---|
job status | SharePlexが履歴を保持するすべてのcompareジョブおよびrepairジョブのステータスを表示します。 |
job_id |
指定されたSharePlex割り当てジョブIDを持つジョブのステータス履歴を表示します。 例: sp_ctrl(sysA)>job status 2828.2 |
job_id.table_id |
指定されたSharePlex割り当てジョブIDとテーブルを持つジョブのステータス履歴を表示します。 例: sp_ctrl(sysA)>job status 2828.HR.SRC_TEST3 |
all |
データベースに履歴があるすべてのジョブの概要行を表示します。 例: sp_ctrl(sysA)>job status all |
full |
ジョブ内の各オブジェクトのステータスを表示します。デフォルトでは、job statusコマンドは、完了していないオブジェクト、または例外的なステータスで完了したオブジェクトのステータスを表示します。 例: sp_ctrl(sysA)>job status 2828 full |
detail |
報告されたすべてのオブジェクトの詳細情報を表示します。デフォルトでは、job statusコマンドは報告されたすべてのオブジェクトの概要行を表示します。詳細情報は、job_id.table_idオプションで表示されるものと同じであることに注意してください。 例: sp_ctrl(sysA)>job status detail |
status |
指定されたステータスの過去のジョブのステータス履歴を表示します。 例: sp_ctrl(sysA)>job status "Error" |
これらのオプションにより、リモートマシンにコマンドを発行したり、ログイン名、パスワード、ポート番号、またはそれらの組み合わせを含むコマンドをスクリプト化したりすることができます。
オプション | 説明 |
---|---|
on host |
リモートシステム(現在のsp_ctrlセッションが実行されているシステム以外)でコマンドを実行します。リモートシステムのログイン認証情報の入力を求めるプロンプトが表示されます。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on SysA |
on host:portnumber |
リモートログインとポート番号を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on SysA:8304 |
on login/password@host |
リモートログイン、パスワード、ホスト名を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例:sp_ctrl(sysB)>status on john/spot5489@SysA |
on login/password@host:portnumber |
リモートログイン、パスワード、ホスト名、ポート番号を指定する必要がある場合は、リモートシステムでコマンドを実行します。使用する場合は、コマンド構文の最後の構成要素でなければなりません。 例: sp_ctrl(sysB)>status on john/spot5489@SysA:8304 |
設定ファイルをコピーし、そのコピーを別のファイル名で保存するには、copy configコマンドを使用します。
設定をコピーすることで、以下のことが可能になります。
このコマンドは、元の設定と同じソースシステムに設定をコピーします。設定ファイルを異なるシステムにコピーするには、テープ、CD、または FTP 経由でファイルを転送します。システムの設定のリストを表示するには、list configコマンドを使用します。設定の内容を表示するには、view configコマンドを使用します。
サポート対象のソース: |
|
サポート対象のターゲット: | PostgreSQL、Oracle、SQL Server、Kafka、Amazon RDS for PostgreSQL、Amazon Aurora for PostgreSQL、Azure Database for PostgreSQL Flexible Server、Google Cloud SQL for PostgreSQL |
発行場所: | ソースシステム |
関連コマンド: | activate config、create config、list config、show config、verify config、view config |
基本コマンド |
---|
copy config filename to newname |
コンポーネント | 説明 |
---|---|
filename tonewname |
例: sp_ctrl(sysA)>copy config sales to sales2 |
新しい設定ファイルを作成するには、create configコマンドを使用します。このコマンドは、SharePlexのデフォルトのテキストエディタを実行して、新しいファイルを開きます。設定を作成するには、『SharePlex管理者ガイド』の第5章の手順に従ってください。
新しい設定に既存の設定と同じ名前を付けようとすると、SharePlexは次のエラーメッセージを返します。「The parameter for create config must be a new filename.」(create configのパラメーターは新しいファイル名にする必要があります。)
設定を作成する代わりに、copy configコマンドを使用して既存の設定を複製し、edit configコマンドを使用してそのコピーを編集することもできます。
サポート対象のソース: |
|
サポート対象のターゲット: | PostgreSQL、Oracle、SQL Server、Kafka、Amazon RDS for PostgreSQL、Amazon Aurora for PostgreSQL、Azure Database for PostgreSQL Flexible Server、Google Cloud SQL for PostgreSQL |
認証レベル: | オペレーター(2) |
発行場所: | ソースシステム |
関連コマンド: | activate config、copy config |
基本コマンド |
---|
create config filename |
コンポーネント | 説明 |
---|---|
filename |
作成する設定の名前。設定名では大文字と小文字が区別されます。この名前は、システム上の設定間で一意である必要があります。 例: sp_ctrl(sysA>create config sales |
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center