DBAtlas · データベース運用アトラス

移行ウィザード (データ / スキーマの移行)

データ / スキーマを移行する。同種か異種か、ダウンタイムの許容度はどれくらいか? 評価 → 移行 → 検証の順に段階的に計画する。まずここで切り替えのリハーサルを行う。

移行元と移行先は何ですか?

同種: 同じデータベースエンジン (例: Oracle 19 → Oracle 23、または PostgreSQL から別のサーバーへ)。異種: 異なるエンジン (例: Oracle → PostgreSQL、MySQL → SQL Server)。異種移行では、はるかに多くの互換性対応 (データ型、関数、PL/SQL) が必要となる。

  • 同じエンジン、新しいサーバー/バージョン (同種)
  • 異なるエンジンへ (異種)
  • 計画段階なので、どう進めるべきか知りたい

ダウンタイムの許容度はどれくらいか?

これにより移行方法が決まる。メンテナンス時間帯がある場合、最も簡単な方法はダンプ / リストアである。ほぼゼロのダウンタイムが求められる場合は、初期データをロードし、継続的なレプリケーション (CDC) で同期を保ち、短時間で切り替える。

  • メンテナンス時間帯がある (ダウンタイムは許容できる)
  • ほぼゼロのダウンタイムが求められる

スキーマと型の互換性を評価したか?

異種間の移行では、本当の作業はデータのコピーではなく差異の解消である: データ型 (VARCHAR2↔TEXT)、関数 (NVL↔COALESCE)、自動採番の値、PL/SQL ↔ PL/pgSQL、削除された / 異なる機能。

  • スキーマ / 型の差異を対応付けた
  • まだ評価していない

まず互換性を評価する

移行の前に、ソースとターゲットの差異を対応付ける。この手順を省くと、移行は途中で行き詰まる。

オフライン移行 (ダンプ / リストア)

最も簡単で信頼性の高い同種間の方法: 一貫性のあるバックアップを取得し、ターゲットにロードし、検証し、切り替える。

最小限のダウンタイム (CDC / レプリケーション)

初期データをロードした後、継続的なレプリケーションでターゲットをソースと同期させる。ダウンタイムは短い切り替えの間だけ発生する。

異種間の移行 (別のエンジンへ)

スキーマを変換し、データを移動し、ロジックを適合させ、検証する。段階的に進め、すべてを一度に移行しない。

DBAtlas で開く →