すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:DMS のデータ追跡機能を使用して ApsaraDB RDS for MySQL インスタンスのデータを復旧する

最終更新日:Apr 04, 2025

ApsaraDB RDS for MySQL インスタンスのデータを変更すると、予期しない更新、削除、書き込みなどの予期しない操作が原因で、データ例外が発生する可能性があります。例外が発生した場合、データ管理 (DMS) のデータ追跡機能を使用して、バイナリログ保存期間内の指定された時間範囲の変更レコードを特定し、ロールバックスクリプトを生成して、変更前の状態にデータを迅速に復旧できます。データ追跡機能は、完全データ復旧および個々のデータベースとテーブルの復旧機能よりも効率的で使いやすくなっています。データ追跡機能は、日常の O&M におけるデータ復旧の効率を大幅に向上させます。

説明

データ復旧方法の詳細については、「データ復旧方法の概要」をご参照ください。

データ追跡機能と代替復旧方法の違い

復旧方法

復旧の原則

請求ルール

復旧速度

復旧可能な時間範囲

データ追跡

データ追跡機能は、指定された時間範囲に対して行われたすべての更新を特定し、更新をロールバックするために使用される文を生成し、生成された文をスクリプトに集約するために使用されます。次に、データ変更チケットを送信して、RDS インスタンスでスクリプトを実行します。

  • RDS インスタンスのコントロールモードが柔軟な管理の場合、料金は発生しません。

  • RDS インスタンスのコントロールモードが安定的な変更またはセキュリティコラボレーションの場合、料金が発生します

高速

復旧可能な時間範囲は、コントロールモードとバイナリログ保存期間によって異なります。

  • RDS インスタンスのコントロールモードが柔軟な管理の場合、過去 30 分以内に行われた DML 操作を追跡できますが、ロールバックまたは再構築スクリプトをエクスポートすることはできません。

  • RDS インスタンスのコントロールモードが安定的な変更またはセキュリティコラボレーションの場合、復旧可能な時間範囲は次の要因によって異なります。

    • ログバックアップ機能が無効になっている場合、復旧可能な時間範囲はバイナリログ保存期間によって異なります。復旧可能な時間範囲は最大 168 時間です。

    • ログバックアップ機能が有効になっている場合、リストア可能な時間範囲は ログバックアップの保持期間 によって異なります。リストア可能な時間範囲は最大 730 日です。

個々のデータベースとテーブルの復旧

個々のデータベースとテーブルの標準および高速復旧機能がサポートされています。特定の個々のデータベースとテーブルのデータを新しい RDS インスタンスまたは既存の RDS インスタンスに復旧できます。既存の RDS インスタンスにデータを復旧すると、プライマリ/セカンダリスイッチオーバーがトリガーされます。

  • 新しい RDS インスタンスにデータを復旧する場合、新しいインスタンスの料金が発生します。価格の詳細については、ApsaraDB RDS の購入ページをご覧ください。

  • 無料クォータを超えるバックアップストレージの使用量に対して課金されます。

高速復旧: 高速

標準復旧: 低速

リストア可能な時間範囲は、ログバックアップの保持期間、および個々のデータベースとテーブルのリストア機能が有効になっている時点によって異なります。ログバックアップの保持期間は最大 730 日です。

完全データを復旧する

元の RDS インスタンスのすべてのデータを新しい RDS インスタンスに復旧し、新しい RDS インスタンスのデータを確認してから、新しい RDS インスタンスから元の RDS インスタンス、既存の RDS インスタンス、またはオンプレミスデータベースインスタンスにデータを移行します。

低速

復元可能な時間範囲は、ログバックアップの保持期間とデータバックアップの保持期間によって異なります。復元可能な時間範囲は最大 730 日です。

前提条件

  • MySQL 5.6 以降のデータベースが使用されています。

  • データベースのバイナリロギング機能が有効になっています。

  • DMS にデータベースにログインしています。

    説明

    データベースが属するデータベースインスタンスが柔軟な管理モードまたは安定的な変更モードで管理されている場合は、データベースにログインする必要があります。データベースが属するデータベースインスタンスがセキュリティコラボレーションモードで管理されている場合は、データベースにログインする必要はありません。

使用上の注意

  • 柔軟な管理モードで管理されているデータベースインスタンスの場合、過去 30 分以内に行われた DML 操作を追跡できますが、ロールバックまたは再構築スクリプトをエクスポートすることはできません。

  • 安定的な変更またはセキュリティコラボレーションモードで管理されているデータベースインスタンスの場合、バイナリログの保存期間内に行われたデータ操作を追跡し、ロールバックまたは再構築スクリプトをエクスポートできます。

  • 追跡できるデータ操作は、データベースのバイナリログの保存期間によって制限されます。バイナリログの保存期間を超えてデータ操作が実行された場合、DMS はそのような操作のデータを取得できません。

  • データベースのバイナリロギング機能が無効になっている場合、またはデータベースにログインしていない場合、DMS はデータベースのバイナリログを取得できません。

  • データ追跡機能では、DML 操作のみを追跡できます。この機能を使用して DDL 操作を追跡することはできません。

手順

  1. DMS コンソール V5.0 にログインします。
    1. 上部のナビゲーションバーで、[データベース開発] > [データ追跡] > [データ追跡チケット] をクリックします。

    説明

    シンプルモードで DMS コンソールを使用する場合は、コンソールの左上隅にある 2023-01-28_15-57-17.png アイコンにポインターを移動し、[すべての機能] > [データベース開発] > [データ追跡] > [データ追跡チケット] を選択します。

  2. データ追跡チケットページの右上隅にある [データ追跡] をクリックします。

  3. データ追跡作業指示アプリケーション ページで、次の表に示すパラメーターを設定します。

    パラメーター

    説明

    タスク名

    今後の検索を容易にし、承認者がチケットの目的を理解するのに役立つ名前を入力します。

    ライブラリ名

    特定のデータベースインスタンス内のデータベースを選択します。 DMS でデータベースを管理する権限が必要です。フィールドにデータベース名のプレフィックスを入力し、一致する結果からデータベースを選択できます。

    [テーブル名]

    データ操作を追跡する 1 つ以上のテーブルを選択します。

    追跡タイプ

    追跡する操作のタイプを 1 つ以上選択します。

    • [挿入]: INSERT 文が生成され、INSERT 操作がロールバックされます。

    • [更新]: UPDATE 文が生成され、UPDATE 操作がロールバックされます。

    • [削除]: DELETE 文が生成され、DELETE 操作がロールバックされます。

    時間範囲

    データ操作を追跡する時間範囲を指定します。

    • データベースが属するデータベースインスタンスが柔軟な管理モードで管理されている場合、過去 30 分以内に行われたデータ操作のみを追跡できます。

    • データベースが属するデータベースインスタンスが安定的な変更またはセキュリティコラボレーションモードで管理されている場合、バイナリログの保存期間内に行われたデータ操作を追跡できます。ただし、1 つのチケットの時間範囲は最大 48 時間に制限されています。 48 時間を超える時間範囲でデータ操作を追跡する場合は、時間範囲を分割して複数のチケットを送信します。

    関係者の変更

    チケットに関係する利害関係者を選択します。選択された利害関係者とチケット承認者のみがチケットの詳細を表示できます。

  4. 申請書の送信 をクリックします。 DMS はデータベースのバイナリログを自動的に取得します。

    バイナリログが取得されると、チケットは承認ステップに進みます。

  5. チケットが承認されるまで待ちます。

    説明

    デフォルトでは、データベースのデータ追跡チケットは、データベースのデータベース管理者 (DBA) によって承認されます。データ追跡チケットの承認ルールの詳細については、「データ追跡」をご参照ください。

  6. チケットが承認されたら、DMS がバイナリログをダウンロードして解析するまで待ちます。

  7. バイナリログがダウンロードされて解析されたら、[追跡タイプ][テーブル名][列名] などのフィルター条件を指定して、ロールバックするデータの変更をフィルターできます。データレコードを選択し、ロールバックスクリプトのエクスポート をクリックします。ロールバックスクリプトがコンピューターにダウンロードされます。

    説明
    • データレコードを見つけて [詳細の表示] をクリックすると、データレコードの詳細を表示し、ロールバック文をコピーできます。

    • 次のタイプの操作を追跡できます: [挿入][更新][削除]

次の手順: ロールバック SQL 文を実行する

ロールバックスクリプトがエクスポートされたら、ロールバック文の影響を受ける可能性のあるデータ行数を見積もり、次のいずれかの方法を選択してロールバック文を実行できます。

  • 影響を受けるデータ行数が少ない場合は、SQL コンソールでロールバック文を実行できます

  • 影響を受けるデータ行数が多い場合は、通常のデータ変更チケットを送信し、エクスポートされたロールバックスクリプトを添付ファイルとしてチケットにアップロードできます。このようにして、SQL 文を選択したデータベースに適用できます。詳細については、「通常のデータ変更」をご参照ください。

関連操作

次の API 操作を呼び出して、データ操作を追跡できます。