2024年3月14日

【Goolge Cloud】Database Migration Service(DMS)でOracle → PostgreSQLへのアセスメントをしてみた


Content
こんにちは。Google Cloud研究開発チームです。

今回は、Database Migration Service をデータベース移行作業で使用した場合どんなことができるのか、

OracleデータベースからPostgreSQLデータベースへの移行を想定して試してみました。

Database Migration Serviceとは

Database Migration Service(以下DMS)は、Google Cloudが提供する
フルマネージドデータベース移行サービスです。使用すると移行元のデータベースからメタデータとデータを簡単にGoogle Cloud上のリソースに移行できます。

移行元、移行先データベース間での構造や構文の違いをチェックし、移行先データベースに併せて一括変換してくれるコンバージョンワークスペースという機能も組み込まれています。
これにより、Database Migration Serviceにて自動変換されない箇所に対しても、手作業での変換作業で大幅な工数削減が見込まれます。

DMSは現在以下のデータベースを移行元として使用することができます。(2024/03/05現在)

※PostgreSQLとOracleのみ抜粋

PostgreSQL
Amazon RDS 9.6, 10+, 10.5+, 11.1+, 12, 13, 14
Amazon Aurora 10.11+, 11.6+, 12.4+, 13.3+, 14.6+, 15.2
Self-managed PostgreSQL (on premises or on any cloud VM that you fully control) 9.4, 9.5, 9.6, 10, 11, 12, 13, 14, 15
Cloud SQL for PostgreSQL 9.6, 10, 11, 12, 13, 14, 15

Oracle
Oracle 11g,Version 11.2.0.4
Oracle 12c,Version 12.1.0.2
Oracle 12c,Version 12.2.0.1
Oracle 18c
Oracle 19c
Oracle 21c

DMSでサポートされているソースと宛先のデータベース
https://cloud.google.com/database-migration/docs/supported-data

Database Migration Service構成手順

それでは、DMSを構成していきます。

1.ソースデータベース用接続プロファイルの作成
ソースデータベースへの接続に必要な情報をまとめたものを作成します。

①コンソール→データベースの移行→接続プロファイル

②「プロファイルを作成」をクリック

③データベースエンジンでOracleを選択する。

④接続設定の定義で各パラメータを入力し、「続行」をクリックする。

⑤接続のセキュリティ保護で、暗号化のタイプ:なし を選択し「続行」をクリックする。

⑥接続方法の定義で、任意の接続方法を選択する。

⑦以下指示に従い設定し、「テストを実行」をクリックする。

⑧「接続プロファイルのテストに成功しました。」と表示されたら、「保存」をクリックする。

 

2.コンバージョンワークスペースの作成
移行元データベースのスキーマとオブジェクトを移行先と互換性のある形式に変換するワークスペースを作成します。

①コンソール→データベースの移行→コンバージョンワークスペースをクリックする。
「ワークスペースをセットアップ」をクリックする。
※「新しい変換ワークスペースのご紹介」ウィンドウが表示されたら「新しいワークスペースを設定」をクリックする。

②コンバージョンワークスペースを作成する画面で各パラメータを入力し、「ワークスペースを作成して続行」をクリックする。

③ソースの定義とスキーマスナップショットのpull画面で作成したソース接続プロファイルを選択し、「スキーマのスナップショットをPULLして続行」をクリックする。
※必要に応じて接続テストを実行する。

④オブジェクトを選択して変換する画面で、DMSで変換する必要があるスキーマとオブジェクトを選択し、「変換して続行」をクリックする。

⑤変換完了後、結果画面が表示されるので、詳細を確認する。

変換結果の一例

DMSの構成ができたので、実際にDMS or コンバージョンワークスペースを用いた変換の一例をご紹介します。
DMSを用いた移行では、単純な置換はもちろん、従来の移行のやり方に沿った変換をすることができます。

1.単純な置換

Oracleでは[”]を[NULL]として扱いますが、Postgresでは長さ0の文字列として扱われてしまうため、[”]を[NULL]に置換してくれます。

2.従来の移行のやり方に沿った変換

Postgresのストアドプロシージャの形式に呼び出し方を変更してくれます。

3.DMSによる置換

データ型の継承をする[%TYPE]属性は、DMSを用いた移行では継承するデータ型を直接設定してくれます。

最後に

今回はDMSを使用し、OracleからPostgreSQLへのアセスメントを行いました。
DMSを使用すると

  • 修正が必要な部分の洗い出し
  • 修正方法の提示
  • SQLの修正

をアシストしてもらえるため、アセスメント時の工数や手間を大きく削減することができます。
データベース移行に伴うアセスメントやマイグレーションに懸念がある方は是非一度試してみてください。

システムサポートではデータベース移行ソリューションとして、
アセスメントサービスやPoCサービスを提供しております。
サーバのサポート切れに伴い入れ替えが必要
ライセンスコストやランニングコストを下げたい

など、データベース移行についてお悩みがございましたら、ぜひお気軽にご連絡ください。

Google Cloudについてのお問い合わせはこちら

2024年3月14日 【Goolge Cloud】Database Migration Service(DMS)でOracle → PostgreSQLへのアセスメントをしてみた

Category Google Cloud

ご意見・ご相談・料金のお見積もりなど、
お気軽にお問い合わせください。

お問い合わせはこちら