このトピックでは、ワークロードをターゲットデータベースに切り替え、ロールバックソリューションを準備する方法について説明します。 これにより、データ移行によるビジネスへの悪影響を最小限に抑えることができます。
前提条件
データ移行タスクが設定されています。 タスクのステータスが [移行] または [完了] です。 詳細については、「データ移行」をご参照ください。
使用上の注意
マイナスの影響を最小限に抑えるため、オフピーク時にワークロードをターゲットデータベースに切り替えることを推奨します。 ワークロードをターゲットデータベースに切り替える前に、ソースデータベースへのデータの書き込みを停止し、業務を一時停止する必要があります。
データ移行用のデータベースアカウントを作成して承認することを推奨します。 これにより、セッション情報を区別し、データセキュリティを向上できます。
手順
タスクの進行状況バーに増分データ移行と移行タスクが遅延していないか、遅延時間が5秒未満になるまで待ちます。
説明データ移行タスクの設定時に増分データ移行が選択されている場合のみ、タスクの進行状況バーに増分データ移行が表示されます。 データの移行後、移行タスクは自動的に停止します。 この場合、データ移行タスクを実行する前に、ビジネスを一時停止し、ソースデータベースへのデータの書き込みを停止する必要があります。 ステップ5に進んでください。
ビジネスを一時停止し、ソースデータベースへのデータの書き込みを停止します。
ソースデータベースにログインし、データベースタイプに基づいて次のステートメントを実行してセッション情報を表示します。 書き込み操作に新しいセッションが使用されないことを確認してください。
MySQL
processlistを示して下さい;
SQL Server
select * from sys.dm_exec_connections;
Oracle
sid、serial# 、ユーザー名、プログラム、マシン、ステータスをv$sessionから選択します。
PostgreSQL
select * from pg_stat_activity;
Redis
クライアント一覧
MongoDB
管理者を使用 db.ru nCommand({currentOp: 1, $all:[{"active" : true}]})
増分データ移行のステータスが移行タスクが遅れていないに変わったら、1分以上待ってから移行タスクを手動で停止します。
警告データ移行タスクを停止した後は、必要がない限りタスクを開始しないでください。 そうしないと、移行されたデータが元のデータと一致しない場合があります。
ビジネスがまだ中断されている場合は、ソースデータベースへのデータの書き込み制限を解除します。
ターゲットデータベースで生成された増分データをソースデータベースに移行するタスクを作成して開始します。 このステップで作成された移行タスクは、ロールバックソリューションを提供します。 ターゲットデータベースでエラーが発生した場合は、ワークロードをソースデータベースに切り替えることができます。
たとえば、元の移行タスクを使用して自己管理型MySQLデータベースからApsaraDB RDS For MySQLインスタンスにデータを移行する場合、この手順では、ApsaraDB RDS for MySQLインスタンスから自己管理型MySQLデータベースにデータを移行する移行タスクを作成する必要があります。 詳細については、「ApsaraDB RDS For MySQLインスタンスから自己管理型MySQLデータベースへのデータの移行」をご参照ください。 反対方向に移行タスクを作成する場合は、増分データ移行のみを選択します。
警告反対方向にデータ移行タスクを設定する場合は、[移行タイプとオブジェクトの設定] で [増分データ移行] のみを選択する必要があります。 次に、移行元データベースに移行するデータベースまたはテーブルを選択する必要があります。
ワークロードをターゲットデータベースに切り替え、データ移行タスクを手動で終了またはリリースします。
タスクを反対方向に実行すると、ターゲットデータベースで生成された増分データがリアルタイムでソースデータベースに移行されます。 ビジネスが失敗した場合は、ワークロードをソースデータベースに戻すことができます。
次のステップ
ワークロードをターゲットデータベースに切り替えて、ビジネス関連のすべての機能をテストした後、反対方向にタスクを停止できます。 詳細については、「Stop a data migration task」をご参照ください。
データ移行に使用されるデータベースアカウントには、読み取りおよび書き込み権限があります。 データの移行後、セキュリティを確保するために、アカウントを削除するか、書き込み権限を取り消す必要があります。
よくある質問
Q: ワークロードをターゲットデータベースに切り替えた後にエラーが発生した場合はどうすればよいですか?
A: エラーが発生した場合、ワークロードをソースデータベースに戻すことができます。 反対方向にタスクを実行すると、ターゲットデータベースで生成された増分データがリアルタイムでソースデータベースに移行されます。
Q: ワークロードをターゲットデータベースに移行できない場合、ソースデータベースのデータが切り替え前のデータと一致するようにするにはどうすればよいですか。
A: ワークロードを切り替える前に、ソースデータベースをバックアップできます。 ワークロードをターゲットデータベースに切り替えることができない場合は、ソースデータベースを復元してデータの一貫性を確保できます。
Q: ワークロードをターゲットデータベースに切り替えた後、誤操作によりソースデータベースにデータが書き込まれた場合はどうすればよいですか?
A: データ検証機能を使用して、ソースデータベースとターゲットデータベースのデータを比較できます。 その後、データの一貫性を確保するために変更を加えることができます。