MicrosoftのAzure Database for PostgreSQLチームが、OracleデータベースからAzure Database for PostgreSQLへの移行をAIで自動化するVS Code拡張機能を公開した。スキーマ変換・PL/SQLコード翻訳・マルチエージェント検証を一気通貫で処理し、長年移行プロジェクトの最大の障壁だった工数とリスクの問題に正面から切り込む。
Oracleからの脱却を阻む「最後の難所」
Oracleから別のDBMSへの移行を検討した経験のあるエンジニアであれば、テーブル定義の変換よりもPL/SQLストアドプロシージャやトリガーの書き換えが工数の大半を占めることを肌で知っているはずだ。Oracle固有の組み込みパッケージ(DBMS_OUTPUT、UTL_FILEなど)、カーソル処理、例外ハンドリングの構文差異は機械的な置換では対応できず、業務ロジックを熟知したエンジニアが1行1行確認する必要があった。
今回公開されたVS Code拡張機能は、この「最後の難所」にAIで踏み込む。
ツールの主な機能
スキーマ自動変換(DDL変換)
OracleのCREATE TABLEや制約定義をPostgreSQL互換のDDLに変換する。NUMBER→NUMERICなどのデータ型マッピングや、両者で挙動が異なるシーケンス・インデックス定義の差異も自動検出して対応する。
PL/SQL → PL/pgSQL 翻訳
ストアドプロシージャ、ファンクション、トリガーに埋め込まれたPL/SQLコードをPostgreSQL向けのPL/pgSQLに翻訳する。Oracle固有パッケージの代替実装も提案するため、翻訳後のコードがPostgreSQL上でそのまま動作することを目指している。
GitHub Copilotによるマルチエージェント検証
GitHub Copilotを活用したマルチエージェントが翻訳後のコードを自動検証する。変換後コードに潜む論理エラーや互換性の問題を検出し、「翻訳はできたが動かない」という状況を防ぐ仕組みだ。
VS Codeネイティブな体験
既存の開発環境であるVS Codeの拡張として動作するため、別途ツールの導入や学習コストが発生しない。エンジニアは普段の作業フローの延長線上で移行作業を進められる。
実務への影響
日本の大規模エンタープライズには、20〜30年以上稼働するOracleシステムを今も多数抱える企業が少なくない。Oracleのライセンスコストは近年さらに上昇しており、PostgreSQLへの移行は「コスト削減」と「クラウドネイティブ化」を同時に達成できる有力な選択肢だ。
これまで移行プロジェクトを躊躇させてきた最大の理由は工数とリスクだった。数万行規模のPL/SQLコードを持つシステムでは、翻訳・テスト・検証にかかる人月コストが移行コスト全体の大半を占めることもある。AIによる自動翻訳とマルチエージェント検証の組み合わせは、このボトルネックを大きく緩和する可能性がある。
エンジニア・IT管理者への実践的なアドバイス:
- まず小規模なサブシステムで精度を見極める: PL/SQL依存度の低い周辺システムから試し、変換品質と残工数を定量的に把握してから全社展開を判断する
- 自動変換後の業務ロジックレビューは必須: 翻訳精度が高くなっていても、業務ロジックの正確性は最終的に人間が確認する。特に複雑なカーソル処理や例外ハンドリングは重点的にレビューする
- Azure Database Migration Serviceとの組み合わせを検討: スキーマ・コード変換はこのVS Code拡張で、実データのETLはAzure Database Migration Serviceで——三位一体の移行計画を立てると抜け漏れが減る
- GitHub Copilotのライセンスが前提: マルチエージェント検証にCopilotが必要なため、組織のライセンス状況を事前に確認しておく
筆者の見解
データベース移行、特にOracleからの移行は「分かっているけど手が付けられない」案件の代表格だった。費用対効果は明確でも、移行リスクと工数が意思決定を阻み続けてきた。
今回のアプローチ——VS Codeに統合されたAIが変換・翻訳・検証を一気通貫でこなす——は、その構造的な障壁を崩す可能性がある。人間が1行1行確認していたPL/SQL翻訳をAIが担い、マルチエージェントが品質を担保する。「仕組みを作れる人間が少数いれば、あとはAIが回す」という流れが、データ基盤の移行領域にも着実に波及してきた。
Azureのインフラとしての信頼性は揺るがない。その上に乗るデータベース層をオープンソースのPostgreSQLに寄せていく方向性は、ベンダーロックインのリスク分散という観点でも理にかなっている。Entra ID統合によるセキュリティ向上やマネージドサービスとしての運用負荷軽減も、移行先としてAzure Database for PostgreSQLを選ぶ積極的な理由になる。
一点付け加えるなら、公開されたばかりの拡張機能を全社規模のOracleシステムにいきなり適用するのは早計だ。まず実際の本番コードベースの一部で変換精度を検証し、残工数を見積もった上で判断する——その慎重さがあってこそ、このツールの恩恵を最大限に引き出せる。検証の結果が良好であれば、長年先送りにしてきたOracle脱却のプロジェクトを動かす絶好の契機になるはずだ。
出典: この記事は No code left behind: How AI streamlines Oracle-to-PostgreSQL migration の内容をもとに、筆者の見解を加えて独自に執筆したものです。