DTS インスタンスがターゲットデータベースへのデータの同期または移行に成功したら、このトピックに従ってワークロードを切り替えることで、データの同期または移行がビジネスに与える影響を最小限に抑えることができます。 このトピックでは、移行インスタンスを例として使用して、ワークロード切り替えの手順について説明します。
始める前に
データ移行インスタンスを構成済みであり、データ移行インスタンスが 実行中 または 完了 状態である必要があります。 データ移行インスタンスの構成方法の詳細については、「移行ソリューションの概要」をご参照ください。
ソリューション
ソースデータベースへの書き込み操作を一時停止します。
データ損失を回避するために、ビジネスを一時的に中断し、新しいデータがソースデータベースに書き込まれないようにする必要があります。
移行インスタンスを一時停止します。
ソースデータベースのデータがターゲットデータベースに書き込まれたら、移行インスタンスを一時停止します。
逆データ移行インスタンスを作成して開始します。
ターゲットデータベースで生成された増分データをソースデータベースにリアルタイムで戻して移行することで、ビジネスのロールバックソリューションを提供します。 ワークロードの切り替え後にビジネスで例外が発生した場合、ビジネスをソースデータベースに戻すことができます。
ワークロードを切り替えます。
ビジネスがデータを書き込むデータベースを切り替え、ビジネスを再開します。
考慮事項
ワークロードの切り替えでは、データベースの書き込み操作を停止し、ビジネスを一時停止する必要があるため、影響を最小限に抑えるために、オフピーク時にこの操作を実行することをお勧めします。
セッション情報を区別し、データセキュリティを向上させるために、データ移行用に個別のデータベースアカウントを作成して承認することをお勧めします。
ワークロードの切り替えでは、移行インスタンスを一時停止する必要があります。 7 日以上一時停止されたインスタンスは再開できません。
手順
ワークロードの切り替え
データ移行インスタンスが 増分データ移行 ステージに入り、実行段階の情報 列のレイテンシが 5 秒未満になるまで待ちます。
説明移行インスタンスに 増分データ移行 ステージがない場合 (つまり、インスタンスの構成時に 移行タイプ で 増分データ移行 が選択されていない場合)、データ移行が完了すると、インスタンスは自動的にタスクを終了します。 インスタンスの ステータス が 完了 に変わるまで待ちます。
ビジネスを一時的に中断し、新しいデータがソースデータベースに書き込まれないようにします。
ソースデータベースにログオンしてセッション情報を表示し、新しいセッションが書き込み操作を実行していないことを確認します。
次のコマンドは、さまざまなデータベースのセッション情報を表示するために一般的に使用されます。
MySQL
show processlist;SQL Server
select * from sys.dm_exec_connections;Oracle
select sid,serial#,username,program,machine,status from v$session;PostgreSQL
select * from pg_stat_activity;Redis
CLIENT LISTMongoDB
use admin db.runCommand({currentOp: 1, $all:[{"active" : true}]})説明上記のステートメントによってクエリされるプロセスまたはセッションには、DTS がソースデータベースへの接続に使用するプロセスまたはセッションが含まれます。
移行インスタンスを一時停止します。
重要移行インスタンスの一時停止中は、インスタンスを勝手に開始しないでください。 そうしないと、データの不整合が発生する可能性があります。
移行インスタンスに 増分データ移行 ステージがない場合、この操作を実行する必要はありません。
移行インスタンスのレイテンシが 0 ミリ秒になるまで待ちます。
説明自動再読み込み 機能を有効にしていない場合は、右側の列の上にある 操作
をクリックして、ページに表示されるレイテンシを更新できます。レイテンシ 0 は一時的な状態である可能性があります。
この時点で、ソースデータベースから移行されるデータは、ターゲットデータベースに正常に移行されています。
1 ~ 3 分間待ち続けます。
この期間中、インスタンスのレイテンシは 2 秒以内で変動する可能性があります。
データ同期ページで、一時停止するデータ同期インスタンスを見つけ、[アクション] 列で を選択します。操作
表示されるメッセージで、[OK] をクリックします。
インスタンスの ステータス が 一時停止中 に変わるまで待ちます。
逆データ移行インスタンスを作成します。
ビジネスを中断したままにします。
ソースデータベースへの書き込み操作を禁止する制限を削除します。
逆データ移行インスタンスを作成して開始します。
重要インスタンスを構成するときは、移行タイプ で 増分データ移行 のみを選択します。
インスタンスの作成方法の詳細については、「移行ソリューションの概要」をご参照ください。
インスタンスの ステータス が 実行中 に変わるまで待ちます。
ワークロードを切り替えます。
ビジネスをターゲットデータベースに切り替えます。
ビジネスのデータ書き込み操作を再開します。
ビジネス機能をテストします。
ロールバック計画
ワークロードの切り替えの失敗など、例外的な場合に、この計画を使用してビジネスを復元できます。
ビジネスを一時的に中断し、新しいデータがデータベースに書き込まれないようにします。
ビジネスをソースデータベースに戻します。
ビジネスのデータ書き込み操作を再開します。
次のステップ
ビジネスがターゲットデータベースに切り替えられ、一定期間安定して実行されたら、ビジネス関連のすべての機能をテストし、問題がないことを確認します。 その後、逆データ移行インスタンスを終了できます。 詳細については、「DTS インスタンスを終了する」をご参照ください。
データ移行に使用されるデータベースアカウントには、読み取りと書き込みの権限があります。 データベースのセキュリティを確保するために、データ移行が完了したら、データ移行に使用されたデータベースアカウントを削除するか、アカウントから書き込み権限を取り消します。
FAQ
Q: ワークロードの切り替え後、元の移行インスタンスはどのように処理すればよいですか?
A: 実際のニーズに基づいて、インスタンスを終了または解放できます。 詳細については、「DTS インスタンスを終了する」および「DTS インスタンスを解放する」をご参照ください。
Q: ワークロードの切り替え後、誤操作により新しいデータがソースデータベースに書き込まれました。 この状況はどのように処理すればよいですか?
A: データ検証を通じてソースデータベースとターゲットデータベースのデータの違いを確認し、データを手動で修正します。
> タスクの一時停止