本記事では、データ移行における構造移行でサポートされている操作について説明します。
背景情報
構造移行は、データ送信元データベースのデータオブジェクト定義(テーブル、インデックス、制約、コメント、ビューなど)をデータ送信先データベースに移行する役割を担い、一時テーブルは自動的に除外されます。データ送信元データベースがOceanBaseデータベース以外の場合、データ送信先のOceanBaseテナントタイプに基づく構文定義基準に従って、データ型とSQL構文を自動的に変換・組み立てた後、データ送信先データベースにコピーします。
データ移行タスクは事前チェックに合格すると、スキーマ移行 ステップに進みます。データ移行タスクの詳細ページに移動し、スキーマ移行 タブをクリックすると、構造移行の全体状況、開始時間、終了時間、合計所要時間、およびテーブルとビューの移行進捗状況を確認できます。
構造移行タスクが 実行中 または 失敗 のステータスにある場合、下表のようにターゲットオブジェクトに対してさまざまな操作を実行できます。構造移行タスクが 完了 のステータスにある場合、ターゲットオブジェクトの作成構文の確認のみがサポートされます。
ステータス |
サポートされる操作 |
|---|---|
| 初期化中 | - |
| DDL取得成功、作成中、実行待ち | 表示 |
| 完了、変換済み完了、スキップ済み | 削除、表示 |
| 失敗 | 再試行、スキップ、削除、変更、詳細表示 |
| DDL取得失敗 | 再試行、スキップ、変更、表示 |
| サポート対象外 通常、データ送信元にターゲット側でサポートされていない作成構文が存在する場合にこのステータスが発生します。 |
スキップ、削除、変更、表示 |
前提条件
データ移行タスクが作成・開始済みであること。詳細については、データ移行 モジュールの該当タイプの新規データ移行タスクドキュメントを参照してください。
使用制限
プロジェクトロールが プロジェクト所有者、プロジェクト管理者、または データサービス管理者 のユーザーのみが、再試行、全失敗オブジェクトの再試行、ターゲットオブジェクトのスキップと削除、作成構文の変更などの操作をサポートします。
本記事で説明する構造移行操作は、実行中 または 失敗 のステータスの構造移行タスクに適用されます。完了 のステータスの構造移行タスクでは、ターゲットオブジェクトの作成構文の確認のみがサポートされます。
構造移行はテーブル、インデックス、ビュー、comments、Check制約の移行をサポートしますが、一時テーブル、event、type、function、procedureなどのオブジェクトや制約の移行はサポートしていません。
再試行 / 全失敗オブジェクトの再試行
失敗 および DDL取得失敗 ステータスのターゲットオブジェクトは、個別再試行、一括再試行どちらも可能です。また、直接再試行も、オブジェクト修正後の再試行も可能です。
失敗オブジェクトの個別再試行:スキーマ移行 ページで、失敗したオブジェクトの操作列にある 再試行 をクリックします。
全失敗オブジェクトの再試行
スキーマ移行 ページで、右上隅の 全失敗オブジェクトの再試行 をクリックします。
ダイアログで、OK をクリックします。
ターゲットオブジェクトのスキップ
失敗、DDL取得失敗、および サポート対象外 ステータスのターゲットオブジェクトは、スキップ操作が可能です。
注意
- スキップ操作を実行する前提条件として、ターゲット側に対応する移行オブジェクトが準備されている必要があります。ターゲット側に移行オブジェクトが存在しない場合、ここでスキップ操作を行っても、フル移行 ステップでエラーが発生します。
- オブジェクトをスキップすると、再度開始することはできませんので、ご注意ください。
スキーマ移行 ページで、ターゲットオブジェクトの操作列にある スキップ をクリックします。
ダイアログで、OK をクリックします。
スキーマ移行 ページで、ターゲットオブジェクトの操作列にある 削除 をクリックします。
ダイアログボックスで、OK をクリックします。
スキーマ移行 ページで、ターゲットオブジェクトの操作列の ... > リビジョン をクリックします。
テーブル作成構文を変更する ダイアログボックスで、実行失敗したDDLとエラーを確認し、そのDDL変換結果の定義を変更します。
保存 をクリックします。
スキーマ移行 ページで、ターゲットオブジェクトの操作列にある ... > 詳細を表示 をクリックします。
詳細を表示 ダイアログで、実行失敗の原因を確認します。
ターゲットオブジェクトをスキップする操作は以下のとおりです:
ターゲットオブジェクトの削除
失敗、完了、完了 (変換あり)、スキップ済み、DDL取得失敗、および サポートされていません ステータスのターゲットオブジェクトは、削除操作をサポートしています。
注意
オブジェクトを削除すると、現在のデータ移行タスクではそのオブジェクトは移行されなくなります。慎重に操作してください。
作成構文の変更
失敗 および DDL取得失敗 ステータスのターゲットオブジェクトでは、テーブルの作成構文を変更できます。
作成構文の確認
初期化中 および 失敗 のステータスを除き、その他のステータスにあるターゲットオブジェクトはテーブルの作成構文を確認できます。
スキーマ移行 ページで、ターゲットオブジェクトの操作列にある 表示 をクリックすると確認できます。テーブルの作成構文が完全に互換性がある場合は、OBServerノードで実行されるDDL構文が表示されます。完全に互換性がない場合は、変換後の作成構文が表示されます。
失敗したオブジェクトの詳細を確認する
失敗 のステータスのターゲットオブジェクトでは、エラーの詳細を確認できます。