「Oracleクラウドデータベース移行 – ベストプラクティスと最新情報〜前編〜」では、Oracleクラウド移行に使用できる様々なソリューションについて紹介しましたが、Oracleクラウド移行の専門家のRicardoさんが、Zero Downtime Migration(下記:ZDM)をベストプラクティスとしてご推奨していただきました。なぜZDMはOracleの移行ツールとして最適な選択肢と言えるのでしょうか?Ricardoさんがこれについて説明しました。
ZDMの特徴とサポートするプラットフォーム
ZDMは2019年11月にリリースされた新製品で、既存のOracleのテクノロジーを活用したシンプルで、強力かつ安全な方式でOracle DatabaseのOracle Cloudへの移行をサポートします。Oracle ZDMはMAA(Maximum Availability Architecture)に準拠しています。クラウド移行には様々な課題があるため、移行をより容易なものにしたいという思いのもとに、ZDMが開発されました。ZDMは無償の製品ですが、お客様のクラウドへの移行期間中、ソース側のデータベースにサポート契約がある限り、Oracleは全面的にサポートします。
ZDM開発当初は、シンプルで包括的であらゆるケースに対応でき、シングルボタンで移行できるものを目指しました。ZDMはFleet Patching and Provisioning(FPP)機能を継承し、包括的なアプローチを提供しています。また、ZDMは移行プロセス前後でチェックを実施します。ほとんどのステップで停止と再開が可能です。なお、テスト移行のオプションを提供しているため、移行実施前に実際には移行を伴わないテストを実施できます。ZDMはフリート・スケールの移行を提供します。複数のシングルまたはRACのデータベースを並行で移行することができます。
ZDMは物理移行を提供します。クラウド移行はバックアップリストアを利用したオフラインで実施することも、DataGuardとRMANとZDMを組み合わせることによってオンラインで実現することも可能です。ZDMは、同じバージョンのソースとターゲット間での移行やNon-CDAからNon-CDAへの移行またはCDBからCDBへの移行を提供します。現在サポートしているターゲットはOracle Database Cloud Service Virtual Machines、Bare Metal、Exadata Cloud ServiceとExadata Cloud at Customerになります。現在OCI-Cと呼ばれるOCI-Classicをご利用のお客様もZDMを利用してデータベースをOCIに移行できます。OCIのリージョン間の移行をされるお客様も移行にZDMを利用できます。
ZDMによる物理移行の8ステップ
ここから物理移行を用いたZDMがどのように動作するかを8つのステップで簡潔にまとめておきます。
- Step 1:ZDMをダウンロードし、構築
まず、Oracle LinuxなどのサーバにZDMのバイナリをダウンロードします。インストールを実施し構築します。移行を開始する前に、テンプレート・ファイルに必要情報を書きます。この情報にはソースデータベース、ターゲットデータベース、バックアップ、場所や接続に関する情報が含まれています。その後、前提要件が満たされるとデータベースの移行コマンドを実行することで移行を開始できます。
- Step 2:ZDMがデータベースの移⾏を開始
ここから先のすべてのステップはZDMが自動で移行してくれます。データベースの移行コマンドを発行後、ZDMはオンプレミスのPrimary DBとOracle Cloud用のTarget DBに接続します。ZDMはソースとターゲットの両方で関連項目をチェックし、全てが整っていればデータベース移行のプロセスを開始します。
- Step 3:ZDMがソースDBをバックアップ場所に接続
ZDMは選択したバックアップ場所にソースデータベースを接続します。Oracle Database Cloud Service Virtual Machines、Bare Metal またはExadata Cloud Serviceに移行する場合、バックアップ場所はテナント内のObject Storeになります。Exadata Cloud at Customerに移行する場合、バックアップ場所はNFSストレージまたはZero Data Loss Recovery Applianceになります。
- Step 4:ZDMがバックアップ・ファイルの転送を調整
その後、ZDMはソースから選択したバックアップ場所にデータベースバックアップの転送を開始します。
- Step 5:ZDMがスタンバイ・データベースを作成
バックアップ・ファイルの転送が完了すると、ZDMはそのファイルを利用して、ターゲットのOracle Cloud用のStandby DBを作成します。ただし、バックアップ・ファイルからStandbyを作成しているため、Primaryと同期していません。この間もPrimaryがオンラインでありUser Appsに接続し、データが常に更新されています。
- Step 6:ZDMがプライマリとスタンバイを同期
Standby DBがクラウド用に作成されると、ZDMはオンプレミスのPrimary DBとクラウド用のStandby DBに接続を実施します。接続が確立されたらPrimaryとStandbyを同期します。ZDMは移行プロセスを一時停止できることを忘れないでください。そのため、理想的にはこの段階で一時停止し、スイッチオーバーおよびロールを変換前に必要なテストを実行した方がいいです。
また、Oracle Cloud用のすべてのデータベースはTDE(透過的データベース暗号化)を利用してデフォルトで暗号化されます。しかしすべてのお客様がオンプレミスのデータベースを暗号化しているわけではありません。ZDMは暗号化プロセスを容易にすることによって、暗号化されていないデータベースの移行を可能にし、ターゲット側で暗号化します。この機能がなければ、お客様がオンプレミスでデータを暗号化する必要が発生するため、工数がかかるだけでなく、11gや12cの場合にはオフラインでの作業となり日常の運営上にも影響があります。ZDMではこれらの影響を解消できるよう設計されています。
- Step 7:ZDMがスイッチオーバーを実⾏しロールを移⾏
PrimaryとStandbyを同期し、最新の状態になるとZDMはスイッチオーバーおよびロールの変換を実施します。これはクラウド用のデータベースがPrimaryとなり、オンプレミス用のデータベースがStandbyとなることを意味します。もしスイッチバックしロールを戻したい場合には、いくつか考慮しなければならない項目があることを覚えておいてください。これは、Oracle Cloud用の新しいPrimaryから生成するRedo logは暗号化されていることです。Standbyとなったオンプレミスのソースデータベースが暗号化されていない場合、スイッチバックをしなければ問題ないですが、スイッチバックをしたい場合、オンプレミスのデータベースをTDEで暗号化する必要があります。
- Step 8:ZDMが移⾏プロセスを完了
最後に、移行プロセスが終了するとZDMは移行のために作成されたリソースや節区をclean-upし、処理を完了します。
ZDMに関する最新情報
続いて、RicardoさんよりZDMの次回のMajor Releaseでリリースされる予定のサービスについてご紹介していただきました。ZDMの次のリリースには、物理移行だけでなく、論理移行も含まれているため、クロスプラットフォーム移行およびクロスデータベースバージョン移行が実現可能になります。
ターゲットとして、Autonomous Databaseも含まれます。また、移行前アドバイザーがZDMの一部になり、様々な変数、ソース環境などの事前分析が可能になります。ZDMは物理移行と論理移行の両方に、オンラインおよびオフラインの移行方法を引き続き提供していきます。ZDM論理移行は、Oracle Data Pumpを使用します。まず、ターゲットDBをインスタンス化し、次にOracle GoldenGateのリアルタイムデータレプリケーションを使用して、ソースとターゲットの両方の同期を行う2つのステップのワークフローで構成されます。
Ricardoさんが論理移行のワークフローを中心に、まとめられた9つの移行ステップについて説明しました。下記の図で示すように、論理移行フローのアーキテクチャは物理移行のワークフローに似ていますが、追加のコンポーネントがあることを注意してください。それは、GoldenGateと呼ばれるものが必要です。GoldenGateは基本的にExtractおよびReplicatとして機能するOracle Cloud Marketplaceから提供される二つのマイクロサービスが構成されます。では、ZDMの論理移行ワークフローの各ステップについて説明します。
- Step 1:ZDMをダウンロードし、構成する
最初のステップは、ZDMのバイナリをサーバにダウンロードすることです。これは、Oracle Linux 7に行う必要があります。移行を開始する前に、バイナリをインストールして構成し、テンプレートファイルの入力に進み、ZDMにすべての関連情報を提供する必要があります。この情報にはソースデータベース情報、ターゲットデータベース情報、バックアップの場所、接続情報などが含まれます。その後、前提要件が満たされるとマイグレデータベースコマンドを発行し移行プロセスを開始できます。
- Step 2:ZDMはソースDBおよびターゲットDBに接続し、検証を実⾏する
ZDMは次に、ソースデータベースへ接続し、ソースデータベースがすべての前提要件を満たしていることを確認します。ZDMはターゲットデータベースのDatabase Cloud Service Virtual MachinesまたはBare Metal、Exadata Cloud Service、Exadata Cloud at CustomerまたはAutonomous Databaseのいずれかに接続します。ZDMは高速の移行プロセスに進む前に、ターゲットデータベースで必要な検証を実行します。
- Step 3:ZDMはOCI Object Storageに接続し、検証を実⾏する
ZDMはソースデータベースをクラウドのObject Storageに接続し、必要な検証を実行します。Exadata Cloud at Customerに移行する場合、バックアップ領域には外部NFSまたはZero Data Loss Recovery Applianceを指定できます。
- Step 4:ZDMがCloud MarketplaceでOracle GoldenGateを構成し、ソースDBトランザクションの取得を開始する
その後、ZDMはGoldenGateを通して、指定されたOCI Compute上のCloud MarketplaceからOracle GoldenGateのデプロイメントを構成します。これは、Oracle GoldenGateマイクロサービスのREST APIから指定して実行されます。ZDMはこのステップでソースデータベースからトランザクションの取得を開始するため、Trail Filesの生成を開始します。
- Step 5:ZDMがNetwork Data Pump Export Jobを開始し、ソースDBサーバーからOCI Object Storageにファイルを転送する
次に、ZDMによりソースDBからData Pump Export Jobの利用が開始されます。ZDMはData Pump Export Jobの監視を実行し、進行状況をレポートしてダンプ・ファイルをユーザー指定のOCI Object Storage bucketにアップロードすることでプロセスをファイナライズします。
- Step 6:ZDMはダンプ・ファイルをターゲットのローカル・ファイル・システムにダウンロードし、ターゲットDBへのData Pump Import Jobを開始する
ZDMはData Pump Import Jobの開始に進み、OCI Object Storage bucketからダンプ・ファイルをターゲットDBにインポートします。ターゲットがAutonomous Databaseの場合、Import JobはファイルをターゲットDBに直接インポートします。他のターゲットの場合、ZDMはまずダンプ・ファイルをターゲットのローカル・ファイル・システムにコピーし、次にData Pump Import Jobによりダンプ・ファイルをターゲットDBにインポートします。
- Step 7:ZDMがCloud MarketplaceでOracle GoldenGateを構成し、Replicatによる変更の適⽤を開始する
ターゲットDBのData Pumpのインスタンスが完了すると、ZDMによってCloud Marketplaceから指定されたOracle GoldenGateのデプロイメントが構成されます。このデプロイメントはReplicatを通して機能し、前のステップで構成されたExtractで取得されたTrail Filesを使用して、ターゲットDBへの変更の適用を直ちに開始します。その後、ZDMはOracle GoldenGateマイクロサービスのREST APIを通してGoldenGateレプリケーションの監視を続行し、完了と同時に終了します。
- Step 8:ZDMはクライアントをターゲットDBに切り替える
前のステップが完了すると、ZDMはクライアント内のクラウドデータベースに切り替えます。
- Step 9:随時ファイナライズし、ZDMがGoldenGateデプロイメントをクリーンアップする
最後に、ZDMは移行のファイナライズに進み、Cloud MarketplaceからGoldenGateデプロイメント移行目的で作成されたすべてのデプロイメントを削除します。
ここまで説明された内容は今後登場するOracle Cloud Database Migrationのために用意されている機能やサービスのほんの一部であるとRicardoさんは言っています。これまでもITの世界は常に変化してきましたが、クラウドではより急速な変化が起こるので、我々は、常にテクノロジーとサービスの進化に注意を払う必要がありそうです。
Oracle Cloud Database移行に関する詳細情報を下記サイトにご参照ください。
Oracle Zero Downtime Migration(ZDM)に関する詳細情報や最新情報を下記サイトにご参照ください。
弊社メールマガジンでは技術者に役立つTips、最新のイベントや製品情報のお知らせをお届けしまうので、是非下記フォームよりご登録ください。