環境やデータベース間でテーブルスキーマにドリフト (乖離) が発生した場合、Data Management (DMS) を使用すると、手動で SQL を作成することなく不整合を修正できます。DMS は 2 つのテーブルのスキーマを比較し、構造的な差異を特定し、ターゲットテーブルをベーステーブルに合わせるために必要な SQL ステートメントを生成します。
利用シーン
環境間の同期:テストデータベースから本番データベースへスキーマの変更を反映します。
テンプレートからのテーブル作成:既存のテーブルをベースとして使用し、同じスキーマを持つ新しい物理テーブルまたは論理テーブルを作成します。
データベース間の修復:異なるデータベースに存在するテーブル間のスキーマドリフトを修正します。
論理データベースへの展開:物理テーブルのスキーマ変更を、単一の操作で論理データベース内のすべてのテーブルに適用します。
仕組み
修復ワークフローは、次の 3 つのフェーズで構成されます:
比較:DMS はベーステーブルとターゲットテーブルのスキーマを分析し、それらを一致させるために必要な SQL ステートメントを生成します。
承認:生成された SQL を確認し、承認を申請します。
適用:承認後、DMS はターゲットテーブルに対して SQL ステートメントを実行します。
前提条件
開始する前に、以下のものがあることを確認してください:
テーブルの不整合の修復
DMS V5.0 コンソールにログインします。
上部のナビゲーションバーで、 [データベース開発] > [スキーマ変更] > [テーブル整合性修復] を選択します。
DMS コンソールをシンプルモードで使用している場合は、左上の
アイコンにポインターを合わせ、 [すべての機能] > [データベース開発] > [スキーマ変更] > [テーブル整合性修復] を選択します。[テーブル同期チケット] ページで、次のパラメーターを設定します。
パラメーター 説明 ベースデータベース (物理データベース) スキーマバージョンの管理」をご参照ください。 ターゲットデータベース 修復対象のテーブルを含むデータベースです。物理データベースまたは論理データベースを選択できます。 [ターゲットデータベース] フィールドにキーワードを入力して検索します。オプションで、スキーマのバージョンを選択できます。デフォルトでは最新のスキーマが使用されます。詳細については、「スキーマバージョンの管理」をご参照ください。 修復済みテーブル 左側のドロップダウンリストからベーステーブルの名前を入力または選択します。右側のドロップダウンリストからターゲットテーブルの名前を入力または選択します。ターゲットテーブルは、物理テーブル、論理テーブル、または集計テーブルにすることができます。ターゲットテーブルが既に存在する場合、DMS はそのスキーマをベーステーブルと比較し、差異を修正するための SQL を生成します。存在しない場合は、DMS が自動的にテーブルを作成します。 エラーを無視するかどうか SQL ステートメントの実行中にエラーが発生した場合の動作をコントロールします。 [無視しない] :エラーが発生すると、DMS は残りのすべてのステートメントの実行を停止します。 [無視する] :DMS は失敗したステートメントをスキップし、残りのステートメントの実行を続行します。 ビジネス背景 (備考) 目的や関連する変更リクエストなど、この修復を実行する理由を説明します。 [送信] をクリックします。DMS はベーステーブルとターゲットテーブルのスキーマを分析し、差異を解決するための SQL ステートメントを生成します。
生成された SQL ステートメントを確認し、 [承認申請] をクリックします。
承認が付与された後、 [ターゲットデータベースに送信して同期] をクリックします。DMS はターゲットテーブルに対して SQL ステートメントを実行します。
次のステップ
スキーマの変更を時系列で追跡するには、「スキーマバージョンの管理」をご参照ください。
データベースのクエリ権限とテーブル変更権限を管理するには、「権限の管理」をご参照ください。