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

Data Management:シャドウテーブルの同期

最終更新日:Mar 29, 2026

Data Management (DMS) のシャドウテーブル同期機能は、ソーステーブルのテーブルスキーマに基づき、データベース内に自動的にシャドウテーブルを作成します。シャドウテーブルはソーステーブルの構造を鏡像化しますが、設定可能なプレフィックスまたはサフィックスが付与されるため、本番データに影響を与えることなくエンドツーエンドストレステストに安全に利用できます。DMS では、一度限りの同期および定期スケジュールによる同期をサポートしています。

前提条件

開始する前に、以下の条件を満たしていることを確認してください。

  • 以下のいずれかのタイプのソースデータベース:

    • MySQL:ApsaraDB RDS for MySQL、PolarDB for MySQL、ApsaraDB MyBase for MySQL、PolarDB-X、AnalyticDB for MySQL V3.0、およびその他のソースからの MySQL データベース

    • SQL Server:ApsaraDB RDS for SQL Server、ApsaraDB MyBase for SQL Server、およびその他のソースからの SQL Server データベース

    • PostgreSQL:ApsaraDB RDS for PostgreSQL、PolarDB for PostgreSQL、ApsaraDB MyBase for PostgreSQL、AnalyticDB for PostgreSQL、およびその他のソースからの PostgreSQL データベース

    • MariaDB:ApsaraDB RDS for MariaDB、およびその他のソースからの MariaDB データベース

    • ApsaraDB for OceanBase(MySQL モード)

    • PolarDB for PostgreSQL(Oracle 互換)

  • ソースデータベースに対するクエリおよび変更権限を保有していること。詳細については、「保有権限の表示」をご参照ください。

  • シャドウテーブルを作成するデータベースに対して、実行機能の有効化 セキュリティルールが有効化されていること。詳細については、「実行機能の有効化」をご参照ください。

「実行機能の有効化」セキュリティルールが有効でない場合、DMS はテーブルスキーマの比較は可能ですが、変更を適用するための SQL ステートメントの実行はできません。

シャドウテーブルの作成

  1. DMS コンソール V5.0 にログインします。

  2. トップナビゲーションバーで、データベース開発スキーマ変更シャドウテーブル同期 を選択します。

    シンプルモードでは、左上隅のアイコンにマウスを合わせて、[すべての機能] > [データベース開発] > [スキーマ変更] > [シャドウテーブル同期] を選択します。

  3. テーブル同期チケット ページで、以下のパラメーターを設定します:

    パラメーター説明
    ソースデータベースシャドウテーブルを作成するデータベースです。ご利用のアカウントには、このデータベースに対するクエリおよび変更権限が必要です。詳細については、「保有権限の表示」をご参照ください。
    プレフィックス/サフィックス各ソーステーブル名に追加してシャドウテーブル名を生成するプレフィックスまたはサフィックスです。形式: <プレフィックス> + ソーステーブル名、または ソーステーブル名 + <サフィックス>。デフォルト値: __test_(プレフィックス)、例: __test_<source_table_name>
    同期対象テーブル同期するテーブルの範囲です。一部のテーブル:選択したテーブルのみを同期します。すべてのテーブル:データベース内のすべてのテーブルを同期します。
    同期ポリシー同期を実行するタイミングです。今すぐ同期:チケット送信直後に即時実行されます。定期同期:crontab 式で定義した定期スケジュールで実行されます。最小間隔は 1 時間です。デフォルトのスケジュールは毎日 02:00 です。
    エラーを無視するかどうかDMS が SQL ステートメント実行時のエラーをどのように処理するかを指定します。無視しない:エラー発生時に実行を停止します。無視する:失敗したステートメントをスキップし、残りのステートメントの実行を継続します。
  4. 送信 をクリックします。DMS はスキーマ分析を開始し、ソーステーブルのテーブルスキーマを比較して必要な SQL ステートメントを特定します。このステップ中にスキーマが変更された場合は、「スキーマ分析」ステップで 再分析 をクリックして分析結果をリフレッシュしてください。

  5. 承認依頼を送信 をクリックし、チケットの承認を待ちます。このステップでは、組織の承認ワークフローに沿ってチケットが送信されます。チケットが承認され、次のステップに進むまで、DMS は SQL ステートメントを実行しません。

  6. 送信してターゲットデータベースに同期 をクリックします。

  7. 実行される SQL ステートメントを確認後、同期の確認 をクリックします。DMS は SQL ステートメントを実行してスキーマを同期します。詳細 をクリックすると、SQL ステートメント、実行時間、スケジューリング情報などの操作ログを表示できます。

crontab 式

定期的な同期をスケジュールするために crontab 式を使用します。式は、スペースで区切られた 6 つのフィールドからなる文字列です:

秒 分 時 日 月 曜日

フィールドリファレンス

フィールド有効な値特殊文字
第 20–59- * /
0–59- * /
0–23- * /
1–31- * ? / L W C
1–12 または JAN–DEC- * /
1–7 または SUN–SAT(1 = 日曜日、2 = 月曜日、…、7 = 土曜日)- * ? / L C #

「日」と「曜日」の両方ではなく、いずれか一方のみに値を指定してください。未使用のフィールドには ? を設定します。

特殊文字

文字説明
*すべての値*(分フィールド)は、毎分実行されます
?任意の値(「日」と「曜日」のみ)「日」または「曜日」のいずれかを指定しない場合のプレースホルダー
-範囲5-20(分フィールド)は、5 分目から 20 分目までの各分に実行されます
/開始位置と間隔5/20(分フィールド)は、5 分目、25 分目、45 分目に実行されます
,リスト5,20(分フィールド)は、5 分目および 20 分目に実行されます
L最終日または最終平日(「日」と「曜日」のみ)5L(曜日フィールド)は、月の最終木曜日に実行されます
W最も近い平日(月~金)(「日」のみ)5W は、月の 5 日に最も近い平日に実行されます
LW月の最終平日
#月の N 番目の平日(「曜日」のみ)4#2 は、第 2 週の水曜日(4 = 水曜日、2 = 第 2 週)に実行されます

スケジュール
0 0 23 ? * 7,1毎週土曜日(7)および日曜日(1)の 23:00
0 30 9 5,15,25 * ?毎月 5 日、15 日、25 日の 09:30
0 0 0 */2 * ?2 日ごとの 00:00
13 13 15 20 * ?毎月 20 日の 15:13:13