dmendreplication - レプリケーションの終了

このコマンドは、指定されたサブスクリプションのリフレッシュまたはミラーリングを終了する場合に使用します。

レプリケーションを終了してから、ビジネス環境での移行アクティビティーの準備ができ、ビジネス・プロセスの次のステップに進むことができます。 ビジネス環境において、レプリケーションの終了が必要な移行アクティビティーの例をいくつか挙げます。
  • データベース・バックアップを開始する。
  • ソース・データベース・サーバーの定期的なリブートを実行する。
  • アップグレード準備のため、データベースを静止する。
  • 週に一度のバッチ処理が完了したばかりである。
  • オフラインの保守アクティビティーの準備をする。

継続的ミラーリングを使用して継続的にデータを複製しており、レプリケーションの終了を必要とするビジネス上の理由が発生した場合、 CDC Replication には、ほとんどのビジネス・ニーズに適合する複数のオプションが用意されています。 レプリケーション終了時のターゲット・データベースの状態を把握しておく必要があるため、ソース・データベース・ログの特定の時点でレプリケーションを終了させなければならないというビジネス要件がある場合は、レプリケーションの「スケジュール・エンド」のオプションから以下のいずれかを選択することができます。

-se パラメーター
–t または –p と同時に指定しない場合は、ソース・データベース・ログの現在時刻でレプリケーションを終了します。
-t パラメーター
–se と同時に指定すると、 ユーザー指定の日時にレプリケーションを終了します。
-p パラメーター
–se と同時に指定すると、 ユーザー指定のログ位置でレプリケーションを終了します。

これらのオプションが必要なシナリオの例として、レポート・インスタンスにデータを取り込んでいるが、当日はレポート・インスタンスに安定した (変更中でない) データが必要だという場合が考えられます。 一日の終わりにアプリケーションをシャットダウンするときに、「スケジュールされた終了 (変更分)」オプションのいずれか 1 つを選択することにより、レポート・インスタンスも現在の日付のデータで更新することができます。

ビジネス要件が特定のエンドポイントを必要とせず、レプリケーションを終了するための時間フレームを必要とする場合、 CDC Replication にはエスカレート・オプション (「正常」「即時」、および 「異常終了」) が用意されています。これらのオプションを使用すると、レプリケーションの再開時に時間がかかります。 例えば、特に緊急性がなく、通常業務の一部としてレプリケーションを終了させる場合は「正常」オプションを使用しますが、レプリケーションを急いで終了させる必要が生じた場合は「中止」オプションを使用する必要があります。 SAN の通常のリブートには「正常」オプションが適切ですが、ハードウェアやアプリケーションに突然、予期しない障害が発生した場合は「中止」オプションが必要です。

レプリケーション終了を開始する際に、ビジネス上の理由から時間フレームの変更が必要な場合は、新たな日時を指定するか、データベース・ログ内の新たな位置を指定するか、レプリケーション終了の別のオプションを選択することにより、レプリケーションの終了スケジュールを変更することができます。

サブスクリプションに次のような更新または変更を行う場合にも、レプリケーションを終了する必要があります。
  • サブスクリプションに表マッピングを追加する。
  • サブスクリプションから表マッピングを削除する。
  • サブスクリプションから表マッピングを一時的に削除する (表の停止)。
  • マッピングの詳細 (ソース列とターゲット列のマッピング、派生列、データ変換、行および列の選択、ユーザー出口など) を変更する。
  • ソース表またはターゲット表の構造が変更されたときにサブスクリプションのプロパティーを更新する。

このコマンドには、さらにスクリプト記述に対する非同期オプション (-nw パラメーター) が組み込まれていて、このオプションと -se を同時に使用すると、レプリケーションの「スケジュール・エンド」を待たずにスクリプトの実行を続けることができます。

管理コンソールでレプリケーションを開始および終了することもできます。 詳しくは、 レプリケーションの開始および終了を参照してください。

すべてのサブスクリプションでレプリケーションを終了してからインスタンスを停止するには、dmshutdown コマンドを使用します。

構文

dmendreplication [-I <name>] [-c|-i|-a|-se [-t <timestamp>|-p 
<log position>] [-w|-nw]] -A|-s <subscription ...> [-L <locale>]

パラメーター

[-I < 名>]
レプリケーションを終了する CDC Replication インスタンスを指定します。 あるいは、この値の代わりに TSINSTANCE 環境変数を指定することもできます。
[-c]
CDC Replication が、指定されたサブスクリプションで「正常」オプションを使用してレプリケーションを終了することを指定します。 –se-i、または –aを指定しない場合、 CDC Replication はデフォルトでこのオプションを使用します。
このオプションは、進行中の処理を完了し、その後レプリケーションを終了します。 リフレッシュが進行中の場合、「標準」を指定すると、現在の表のリフレッシュを完了してからレプリケーションを終了します。
「標準」は、大半のビジネス要件で最適なオプションであり、多くの場合はこれがレプリケーションを終了させるために望ましい方式です。
[-i]
CDC Replication が、指定されたサブスクリプションで「即時」オプションを使用してレプリケーションを終了することを指定します。
このオプションは、 進行中の処理をすべて停止し、その後レプリケーションを終了します。 このオプションの使用後にレプリケーションを開始すると、-c を使用するより時間がかかることがあります。 リフレッシュが進行中の場合、現在の表のリフレッシュを中断してレプリケーションを終了します。
「即時」オプションを使用してレプリケーションを終了する前に、すべての従属ソース・データベース・ログを確実に使用可能にしておく必要があります。 CDC Replication は、サブスクリプションの再始動時にすべての従属ソース・ログを再処理する必要がある場合があります。 即時にレプリケーションを終了するときに、 CDC Replication が現在長期実行トランザクションを処理している場合、 CDC Replication は、データベース・ログ内の最も古いオープン・トランザクションからレプリケーションを再開しなければならない可能性があります。 どのログが必要であるか判別するには dmshowlogdependency コマンドを使用してください。
このオプションは、指定されたサブスクリプションでのレプリケーション再開時間がかかっても、業務上の理由で -c を指定するより早くレプリケーションを終了する必要がある場合に使用してください。
[-a]
CDC Replication が、Abort オプションを使用して、指定されたサブスクリプションのレプリケーションを終了することを指定します。
このオプションは、 進行中の処理をすべて停止し、その後すぐにレプリケーションを終了します。 このオプションの使用後にレプリケーションを開始すると、-c を使用するよりはるかに時間がかかることがあります。 進行中のリフレッシュは中断され、レプリケーションの終了前に、ターゲットが、コミットされていないすべてのデータの処理を停止します。
「中止」オプションを使用してレプリケーションを終了する前に、すべての従属ソース・データベース・ログを確実に使用可能にしておく必要があります。 CDC Replication は、サブスクリプションの再始動時にすべての従属ソース・ログを再処理する必要がある場合があります。 中止を指定してレプリケーションを終了したときに、 CDC Replication が現在長期実行トランザクションを処理している場合、 CDC Replication は、データベース・ログ内の最も古いオープン・トランザクションからレプリケーションを再開しなければならない可能性があります。 どのログが必要であるか判別するには dmshowlogdependency コマンドを使用してください。
このオプションは、業務上の理由でレプリケーションをすぐに終了する必要がある場合、および指定されたサブスクリプションでレプリケーションを再開したときに開始処理にさらに時間がかかっても構わない場合に使用してください。
緊急な業務上の必要性からソース・システムの予定外のシャットダウンを実行する場合、レプリケーションを終了させるためにこのオプションが必要なことがあります。
[-se]
CDC Replication が、「スケジュール・エンド」オプションを使用して、ソース・データベース・ログの現在のソース・システム時刻でレプリケーションを正常に終了することを指定します。 レプリケーションが終了するソース・システム時間は、ユーザーがこのコマンドを発行するときに設定されます。
以下のパラメーターを –se と同時に指定すると、レプリケーションは特定の日時またはログ位置で終了します。
–t
ソース・データベース・ログの特定の日時にレプリケーションを終了します。
–p
ソース・データベース・ログ内の特定のログ位置でレプリケーションを終了します。
注: ソースとターゲットの間の待ち時間が長くなるにつれて、レプリケーションを終了するために必要な時間も長くなります。
[-t < タイム・スタンプ>]
–seの使用時にレプリケーションが終了する、ソース・データベース・ログ内の日時を示します。 このパラメーターに値を指定する場合は、 yyyy-MM-dd HH :mm の形式を使用します。
–seを指定する場合、このパラメーターはオプションです。
–seを指定する場合、このパラメーターはオプションです。
[-w]
このコマンドは、–se を使用する場合にレプリケーションの終了を待機することを示します。 –w は、レプリケーションの「スケジュール・エンド」のデフォルト設定です。
このコマンドは、–se を使用する場合にレプリケーションの終了を待機することを示します。 –w は、レプリケーションの「スケジュール・エンド」のデフォルト設定です。
このパラメーターを指定してコマンドのスクリプトを作成すると、そのスクリプトは -se の処理が完了するのを待ってから実行を続行することになります。
注: このパラメーターは、 –c-i、または –aを指定した場合は適用されません。 レプリケーションの終了時に –c-i、または –a を指定すると、 CDC レプリケーション は常に待機します。
[-nw]
-se を指定しても、このコマンドを実行するとレプリケーションの終了を待機しません。 このコマンドのスクリプトを記述する場合、このパラメーターを指定すると、-se の処理が完了しなくても、スクリプトは実行を続けます (非同期)。
-A
CDC Replication がすべてのサブスクリプションでレプリケーションを終了することを示します。
–s を使用して、1 つ以上のサブスクリプションのレプリケーションを終了します。
-s < サブスクリプション ...>
CDC Replication がレプリケーションを終了するサブスクリプションを示します。
複数のサブスクリプションを指定するには、サブスクリプションをスペースで区切って指定してください。 例 : Subscription1 Subscription2 Subscription3
このパラメーターに値を指定するか、–A を使用してすべてのサブスクリプションを指定する必要があります。
[-L < ロケール>]
CDC Replication インスタンスに使用されるロケールの名前。 デフォルトは、 CDC Replication がインストールされているマシンのロケールです。

結果

このコマンドは、成功した場合に 0 の値を戻し、失敗した場合に 0 以外の値を戻します。

dmendreplication -I MYINSTANCE -c -s FINANCE

CDC Replication は、指定されたインスタンスの FINANCE サブスクリプションに対して、「正常」オプションを指定してレプリケーションを終了します。

dmendreplication -I MYINSTANCE –se –t 2010-02-05-00-00 FINANCE -nw

CDC Replication は、ソース・データベース・ログ内の指定された時刻に、FINANCE サブスクリプションの「スケジュール・エンド」オプションを使用してレプリケーションを終了します。 このコマンドは、「スケジュール・エンド」の処理が完了する前に終了します。

dmendreplication -I MYINSTANCE –a –s SUBSCRIPTION1 SUBSCRIPTION2

CDC Replication は、指定されたインスタンスで SUBSCRIPTION1 および SUBSCRIPTION2 の中止オプションを使用してレプリケーションを終了します。