Migrate to Oracle Exadata Database Service on Dedicated Infrastructure

This section describes how to migrate your Oracle Exadata workloads to Oracle Exadata Database Service on Dedicated Infrastructure, and migrate your VMware applications to Oracle Cloud VMware Solution.

アーキテクチャ

This architecture shows a migration from on-premises Oracle Exadata databases and VMware applications to Oracle Exadata Database Service on Dedicated Infrastructure and Oracle Cloud VMware Solution.

Oracle Zero Downtime Migrationを使用して、オンプレミスからクラウドにデータを移行する際のダウンタイムを最小限に抑えながら、データベースの移行を自動化します。

HCXやvMotionなどのVMwareツールを使用して、VMwareで実行されているオンプレミス・アプリケーションをOracle Cloud VMware Solutionに移行します。Oracle Cloud VMware Solutionでは、OCIベア・メタル・インスタンスで実行される、OCIテナンシ内のVMwareソフトウェア定義データ・センター(SDDC)を完全に自動実装できます。

次の図は、このリファレンス・アーキテクチャを示しています。



migrate-vmware-cloud-solution-exadata-dedicated-architecture.zip

このアーキテクチャでは、次のコンポーネントがサポートされます。

  • リージョン

    Oracle Cloud Infrastructureリージョンは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含むローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、広大な距離で(複数の国または複数の大陸にまたがる)リージョンを分離できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。VCNは、従来のデータ・センター・ネットワークと同様に、ネットワーク環境の完全な制御を可能にします。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • Oracle Exadata Database Service on Dedicated Infrastructure

    Oracle Exadata Database Service on Dedicated Infrastructureは、OCIデータ・センターでOracle Exadata Database Machineをサービスとして提供します。Oracle Exadata Database Service on Dedicated Infrastructureサービスは、OCIリージョンの単一のExadataラックで実行される1つ以上のVMクラスタで実行される多くのOracleデータベースをホストできます。Oracle Exadata Database Service on Dedicated Infrastructureは、データベース統合に最適なプラットフォームです。

  • Oracle Cloud VMware Solutionソフトウェア定義データ・センター(SDDC)

    OracleとVMwareは、Oracle Cloud Infrastructure内で使用するVMware認定のソフトウェア定義データ・センター(SDDC)実装の開発と提携しています。Oracle Cloud VMware Solutionと呼ばれるこの実装は、Oracle Cloud Infrastructureを使用して、可用性の高いVMware SDDCをホストします。また、オンプレミスのVMware SDDCのすべてのワークロードをOracle Cloud VMware Solutionにシームレスに移行できます。Oracle Cloud VMware Solutionには、次のVMwareコンポーネントが含まれています:

    • VMware vSphere ESXi
    • VMware vSAN
    • VMware vCenter
    • VMware NSX-T
    • VMware HCX (オプション)
  • ベア・メタル

    Oracle Cloud VMware Solutionソフトウェア定義のデータ・センター(SDDC)には、Oracle Cloud VMware Solutionをホストするベア・メタル・サーバーが含まれます。ベア・メタル・サーバーは、多くのコア数、大量のメモリーおよび高帯域幅(Oracle Cloud VMware Solutionなど)を必要とするアプリケーションをサポートしています。Oracle Cloud VMware Solutionをベア・メタル・サーバーにデプロイし、他のパブリック・クラウドやオンプレミス・データ・センターと比較してパフォーマンスが大幅に向上した仮想マシンを構成できます。

  • サービス・ゲートウェイ

    サービス・ゲートウェイは、VCNからOracle Cloud Infrastructure Object Storageなどの他のサービスへのアクセスを提供します。The traffic from the VCN to the Oracle service travels over the Oracle network fabric and never traverses the internet.

  • Dynamic routing gateway (DRG)

    DRGは、VCNとリージョン外部のネットワーク(別のOracle Cloud InfrastructureリージョンのVCN、オンプレミス・ネットワーク、別のクラウド・プロバイダ内のネットワークなど)間の、同じリージョン内のVCN間のプライベート・ネットワーク・トラフィックのパスを提供する仮想ルーターです。

  • FastConnect

    Oracle Cloud Infrastructure FastConnectは、データ・センターとOracle Cloud Infrastructureの間に専用のプライベート接続を簡単に作成する方法を提供します。FastConnectは、インターネットベースの接続と比較して、高帯域幅のオプションとより信頼性の高いネットワーク・エクスペリエンスを提供します。

  • ファイル・ストレージ

    OCI File Storageは、論理移行中に共有ファイル・システムから移行されたデータベースをインポートするために使用されます。

  • オブジェクト・ストレージ

    OCI Object Storageは、移行中の一時記憶域の論理的および物理的な移行に使用されます。

開始する前に

開始する前に、この設定で使用される主要コンポーネントのバージョンを確認し、製品ドキュメントで後から参照してください。

要件のレビュー

  • ソース・データベースでOracle Databaseバージョン19.18 Enterprise Edition以上が実行されていることを確認します。
  • ターゲット・データベースは、Oracle Exadata Database Service on Dedicated Infrastructure X8以上、Oracle Databaseバージョン19.18 Enterprise Edition以上である必要があります。
  • Oracle Zero Downtime Migrationはバージョン21.4以上である必要があります。
  • 中間ストレージには、OCI Object Storage、Oracle ZFS Storage Appliance (NAS)およびOCI File Storageが含まれる必要があります。

文書のレビュー

このソリューション・プレイブックでは、データベース・ワークロードを移行する方法について説明します。VMwareワークロードの移行方法については、次のソリューションを参照してください。追加のリソースは、データベース移行のコンテキスト、詳細および参照に役立ちます。

ワークロードのVMwareコンポーネントをOracle Cloud VMware Solutionに移行する方法について学習します。

Oracle Zero Downtime Migrationリソースを確認します:

物理移行リソースを確認します。

論理移行リソースを確認します。

Oracle Databaseのリソースを確認します。

必要な製品およびロールについて

このソリューションには、次の製品が必要です。

  • Oracle Cloud Infrastructure Identity and Access Management
  • OCIコンピュート
  • OCI Object Storage
  • OCIファイル・ストレージ
  • Oracle Zero Downtime Migration
  • Oracle Exadata
  • Oracle Exadata Database Service on Dedicated Infrastructure

各製品に必要なロールは次のとおりです。

製品名: ロール 必要...
Oracle Cloud Infrastructure Identity and Access Management: OCI_user
  • 物理移行用の認証トークンを作成します
  • 論理移行用のAPIキーの作成
OCIコンピュート: admin OCI Computeインスタンスを作成してOracle Zero Downtime Migrationソフトウェアを実行します
OCIオブジェクト・ストレージ: Storage Admin 論理的および物理的移行のためのOCI Object Storageバケットの作成
OCIファイル・ストレージ: Storage Admin 論理移行用のOCI File Storageの作成
Oracle Zero Downtime Migration: opc zdmuserを作成して、Oracle Zero Downtime Migrationソフトウェアをインストールおよび実行します
Oracle Zero Downtime Migration: zdmuser
  • Oracle Zero Downtime Migrationソフトウェアのインストール
  • Oracle Zero Downtime Migrationの実行
Oracle Exadata: root/sudoer user
  • ネットワークに接続されたストレージ・デバイスからネットワーク・ファイル・システム共有をマウントし、論理的な移行のためにデータベースをエクスポートします
  • Oracle Zero Downtime Migration仮想マシンからのパスワードなしのsshの有効化
  • sudoコマンドを実行して、Oracle Zero Downtime Migrationソフトウェア・エージェントをインストールします
  • sudoコマンドを実行して、データベースをバックアップまたはエクスポートします
Oracle Exadataデータベース: sys/system
  • 物理移行にOracle Recovery Manager (RMAN)を使用してデータをバックアップします
  • Data Pumpを実行して、論理移行用にデータベースをエクスポートします。
Oracle Exadata Database Service on Dedicated Infrastructure: Database Admin ターゲットOracle Exadata Database Service on Dedicated Infrastructureデータベースの作成
Oracle Exadata Database Service on Dedicated Infrastructure VM Cluster Nodes: opc
  • OCI File Storageからネットワーク・ファイル・システム共有をマウントして、論理移行用にデータベースをインポートします
  • Oracle Zero Downtime Migration仮想マシンからのパスワードなしのsshの有効化
  • Oracle Zero Downtime Migrationソフトウェア・エージェントのインストール
  • sudoコマンドを実行して、データベースをリストアまたはインポートします
Oracle Exadata Database Service on Dedicated Infrastructureデータベース: sys/system
  • 物理移行にOracle Recovery Manager (RMAN)を使用してデータをリストアします
  • Data Pumpを実行して、論理移行用のデータベースをインポートします。

必要なものを取得するには、Oracle製品、ソリューションおよびサービスを参照してください。

論理および物理的移行について

Oracle Zero Downtime Migrationは、Oracle ExadataからOracle Exadata Database Service on Dedicated Infrastructureへの2つのタイプのデータベース移行(論理移行と物理移行)をサポートしています。

論理移行ではOracle Data PumpとOracle GoldenGateの組合せが使用されますが、物理移行ではOracle Recovery Manager (RMAN)Oracle Data Guardの組合せが使用されます。次の表に、論理移行または物理移行を使用するシナリオを示します。

論理移行 物理移行
いくつかのプラガブル・データベースまたはスキーマ(あるいはその両方)が移行される場合に推奨されます。 データベース全体が移行される場合に推奨されます。たとえば、すべてのプラガブル・データベースを含むコンテナ・データベース、またはリフト・アンド・シフトなどです。
プラガブル・データベース(PDB)またはスキーマ(あるいはその両方)を移行できます。 コンテナ・データベースはコンテナ・データベースに移行され、非コンテナ・データベースは非コンテナ・データベースに移行されます。
ソースとターゲットのSysパスワードは異なる場合があります。ソースとターゲットのデータベース名は異なる場合があります。 ソースとターゲットの両方でSysパスワードとデータベース名は同じである必要があります。ソースとターゲットのDB_UNIQUE_NAMEは異なる必要があります。
移行中にデータベースをアップグレードできます。 移行の一部としてデータベースをアップグレードすることはできません。

論理移行を使用した移行

このセクションでは、オフライン論理移行を実行する方法について説明します。オンライン移行については、「ドキュメントのレビュー」のセクションを参照してください。

移行を実行する前に、次の点に注意してください。

  • Oracle Exadata上のソース・データベースを暗号化する必要はありません。Oracle Zero Downtime Migrationは、移行中にターゲット・データベースを暗号化します。
  • ソース・データベースとターゲット・データベースのsysパスワード、ウォレット・パスワード、データベース・バージョン、データベース名およびパッチ・レベルが同じである必要はありません。
  • Oracle Zero Downtime Migrationでは、特定のプラガブル・データベース(PDB)またはスキーマ(あるいはその両方)をOracle Exadata Database Service on Dedicated Infrastructureのプラガブル・データベースに移行できます。
  • 論理移行には共有ファイル・システムが必要です。論理移行中、Oracle Zero Downtime MigrationはデータをOCI Object Storageに直接エクスポートしません。ソースExadataデータベースで、Oracle Zero Downtime Migrationはデータを共有ファイル・システム(ネットワーク・ファイル・システムまたはOracle Advanced Cluster File System)にエクスポートします。エクスポートされたデータは、OCI Object Storageにアップロードされます。Oracle Zero Downtime Migrationは、データ・ダンプをOCI Object StorageからOCI File Storageに移動します。Finally, then Oracle Exadata Database Service on Dedicated Infrastructure can import the data from OCI File Storage via network file system.
  • オンプレミスのOracle Exadataでは、単一インスタンス・データベースとRACデータベースの両方を実行できます。Oracle Exadata Database Service on Dedicated Infrastructureは、RACデータベースを実行します。データベースの移行中、Oracle Zero Downtime Migrationは、必要に応じて単一インスタンスをRACデータベースに変換します。
  • オンプレミスのOracle Exadataでは、Oracle Transparent Data Encryptionを使用してデータベースを暗号化することはオプションです。ExadataからDedicated InfrastructureのOracle Exadata Database Serviceにデータベースを移行する場合、ターゲットのOracle Exadata Database Service on Dedicated Infrastructureデータベースは常に暗号化されます。
  • 次のステップでは、Oracle Exadataがインストールされているデータ・センターと、Oracle Exadata Database Service on Dedicated InfrastructureおよびOracle Zero Downtime Migration仮想マシンが構成されているOCI Virtual Cloud Networkの間に直接ネットワーク接続があることを前提としています(アーキテクチャ図に示すように、FastConnectまたはIPSec VPNを介して)。

次の手順では、オフライン論理移行を実行する方法について説明します。

  1. OCIコンソールで、ターゲットのOracle Exadata Database Service on Dedicated Infrastructureデータベースが構成されるのと同じVCNにコンピュート・インスタンスを作成します。
    このコンピュート・インスタンスは任意のシェイプで、少なくとも2つのOCPUと16GBのRAMがあり、Oracle Linux 7.9オペレーティング・システムが実行されます。この仮想マシンは、Oracle Zero Downtime Migrationソフトウェアの実行に使用されます。
  2. 「ドキュメントの確認」セクションのOracle Zero Downtime Migrationインストールドキュメントに従って、OCIコンピュート・インスタンスにOracle Zero Downtime Migration 21.4ソフトウェアをダウンロードしてインストールします。
    Oracle Zero Downtime Migrationソフトウェアをzdmuserとして実行します。
  3. Oracle Zero Downtime Migrationソフトウェアを実行しているコンピュート・インスタンスにzdmuserとしてログインし、SSHキーペアを生成します。zdmuserアカウントからソースExadataデータベース(rootprivilege-sudoer user)のすべてのノード、およびターゲットOracle Exadata Database Service on Dedicated Infrastructureデータベースopc userアカウントのすべてのVMクラスタ・ノードへのパスワードなしのsshを有効にします。
  4. Oracle Zero Downtime Migration VMがホスト名とIPアドレスを使用してソース・データベース・ホストと通信できることを確認します。次の点を確認します。
    • 必要に応じて、VCN DNSリゾルバ、またはOracle Zero Downtime Migration VMの/etc/hostsファイルを変更します。
    • Oracle Zero Downtime Migration VMがデフォルトのリスナー・ポート1521およびsshポート22のソース・データベースに接続できるようにするセキュリティ・ルールがあることを確認します。
    • デフォルトのリスナー・ポート1521およびsshポート22で、Oracle Zero Downtime Migration VMがターゲットのOracle Exadata Database Service on Dedicated Infrastructureホストに到達できることを確認します。
  5. Oracle ZFS Storage Applianceまたはネットワーク接続ストレージデバイスで、移行の進行中にデータベースデータダンプのプレースホルダーとして使用するネットワークファイルシステム共有を作成します。
  6. Exadataデータベースのすべてのノードでネットワーク・ファイル・システム共有をマウントします。
    すべてのユーザーに読取り、書込み、実行(rwx)権限があることを確認します。マウント・ポイントをメモします。
  7. OCIコンソールで、OCI File Storageを作成します。
    マウント・ターゲット、エクスポートおよびIPアドレスを書き留めます。デフォルトでは、IPアドレスはOracle Exadata Database Service on Dedicated Infrastructureバックアップ・ネットワークにあります。
  8. IPアドレスおよびステップ7からのエクスポートを使用して、Oracle Exadata Database Service on Dedicated Infrastructure VMクラスタのすべてのノードでネットワーク・ファイル・システムを介してこのファイル・ストレージをマウントします。
    Virtual Cloudネットワークに、Oracle Exadata Database Service on Dedicated Infrastructureバックアップ・ネットワークでネットワーク・ファイル・システム・プロトコルを許可するセキュリティ・ポリシーが含まれていることを確認します。マウント・ポイントをメモします。
  9. OCIコンソールまたはREST APIを使用して、ターゲットのOracle Exadata Database Service on Dedicated Infrastructureデータベースを作成します。データベースを次のように構成します。
    • 新しいターゲット・データベースは、ソース・データベースとは異なる名前を持つことができます。
    • 新しいデータベースは、ソース・データベースよりも新しいバージョンにできます。
    • adminユーザーのパスワードを指定します。パスワードをメモします。
    • データベース作成時にバックアップの保存先を選択したり、自動バックアップを有効にしたりしないでください。これらの設定は、データベースの移行後に有効にできます。
    データベースの作成後にデータベースOCIDを書き留めます。
  10. OCIコンソールで、OCI Object Storageバケットがまだ存在しない場合は作成します。
    Swift URL、オブジェクト・ストレージ・ネームスペースおよびバケット名に注意してください。
  11. OCIコンソールを使用して、ターゲットのOracle Exadata Database Service on Dedicated Infrastructureデータベースを所有し、ステップ10で作成したOCI Object Storageバケットにデータをアップロードする権限を持つOCIユーザーのAPIキーを作成します。
    ユーザーOCID、テナンシOCID、フィンガープリントおよびOCIリージョンを書き留めます。対応する秘密鍵と公開鍵をPEMファイルに保存します。このAPIキーは、Oracle Zero Downtime Migrationによって、OCIに接続して、データベースの移行中にターゲット・データベース情報を取得し、データ・ダンプをOCI Object Storageにアップロードするために使用されます。
  12. 前のステップのPEMファイルをOracle Zero Downtime Migration VMにコピーします。
  13. sysユーザーとしてソースExadataデータベースにログインし、パラメータStreams_Pool_Sizeが2G以上に設定されていることを確認します。次に例を示します。
    SQL>show parameter streams_pool_size;
    SQL>alter system set streams_pool_size=2G scope=both SID=’*’;                  
  14. Use Oracle Zero Downtime Migration's logical migration response file template included with Zero Downtime Migration to create a response file for the migration.キー・パラメータは次のとおりです。
    • TARGETDATABASE_OCID: Oracle Exadata Database Service on Dedicated Infrastructureターゲット・データベースのOCID。
    • MIGRATION_METHOD: OFFLINE_LOGICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • TARGETDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_ADMINUSERNAME: system
    • SOURCEDATABASE_CONNECTIONDETAILS_HOST: ソースExadataデータベースの最初のノードのIP/ホスト名。
    • SOURCEDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCEDATABASE_CONNECTIONDETAILS_SERVICENAME: ソースPDBまたは非コンテナ・データベース(非CDB)のサービス名。lsnrctlを使用して検索します。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_TENANTID: ステップ11のテナンシOCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_USERID: ステップ11のユーザーOCID。
    • OCIAUTHENTICATIONDETAILS_USERPRINCIPAL_FINGERPRINT: ステップ11のフィンガープリント。
    • OCIAUTHENTICATIONDETAILS_PRIVATEKEYFILE: ステップ12のOracle Zero Downtime Migrationサーバー上の秘密キーPEMファイルへのファイル・パス。
    • OCIAUTHENTICATIONDETAILS_REGIONID: ステップ11のOCIユーザーのOCIリージョンID。
    • TARGETDATABASE_CONNECTIONDETAILS_PORT: 1521
    • TARGETDATABASE_CONNECTIONDETAILS_SERVICENAME: ターゲット・データベースのターゲット・プラガブル・データベースのサービス名。lsnrctlを使用して検索します。
    • SOURCECONTAINERDATABASE_ADMINUSERNAME: system
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_HOST: ソースExadataデータベースの最初のノードのIP/ホスト名。
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_PORT: 1521
    • SOURCECONTAINERDATABASE_CONNECTIONDETAILS_SERVICENAME: Exadataデータベースのソース・コンテナ・データベースのサービス名。lsnrctlを使用して検索します)。
    • DATAPUMPSETTINGS_JOBMODE: SCHEMA
    • DATAPUMPSETTINGS_FIXINVALIDOBJECTS: TRUE
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_NAME: mig
    • DATAPUMPSETTINGS_EXPORTDIRECTORYOBJECT_PATH: ステップ6のネットワーク・ファイル・システムのマウント・ポイント。
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_NAME: mig.
    • DATAPUMPSETTINGS_IMPORTDIRECTORYOBJECT_PATH: ステップ8のネットワーク・ファイル・システムのマウント・ポイント。
    • DATAPUMPSETTINGS_CREATEAUTHTOKEN: TRUE
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_IMPORTPARALLELISMDEGREE: 4
    • DATAPUMPSETTINGS_DATAPUMPPARAMETERS_EXPORTPARALLELISMDEGREE: 4
    • DATAPUMPSETTINGS_DATABUCKET_NAMESPACE: ステップ10のOCI Object Storageネームスペース。
    • DATAPUMPSETTINGS_DATABUCKET_BUCKETNAME: ステップ10のOCI Object Storageバケット名。
    • TABLESPACEDETAILS_AUTOCREATE: TRUE
    • TABLESPACEDETAILS_USEBIGFILE: TRUE
    • TABLESPACEDETAILS_EXTENTSIZEMB: 512
    • EXCLUDEOBJECTS-1: owner:PDBADMIN
  15. Oracle Zero Downtime Migration予行演習移行ジョブ(-eval)を実行して、移行のすべての前提条件が可能であることを検証します。これにより、クラウド移行前アドバイザ・ツール(CPAT)が実行され、ソース・データベースがOracle Zero Downtime Migration論理移行を使用したOracle Exadata Database Service on Dedicated Infrastructureへの移行に適していることが検証されます。続行する前に、CPATによって報告された問題に対処してください。次に例を示します。
    
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_Exadata_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_exadata_database_dedicated_VM_cluster_node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14 \
    -eval
    このコマンドは、ソース・データベースおよびターゲット・データベースのsysユーザーのパスワードを要求します。
    予行演習の移行が成功したら、次のステップに進みます。
  16. 予行演習の移行が成功したら、Oracle Zero Downtime Migrationジョブを実行します。次に例を示します。
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_Exadata_node \
    -srcauth zdmauth \
    -srcarg1 user:root_or_sudoer_user \
    -srcarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_exadata_database_dedicated_VM_cluster_node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file:path_to_ssh_private_key/ssh_private_key_file_name \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_14
    このコマンドは、ソース・データベースおよびターゲット・データベースのsysユーザーのパスワードを要求します。

物理移行を使用した移行

このセクションでは、オフラインの物理移行を実行する方法について説明します。オンライン移行については、「ドキュメントのレビュー」のセクションを参照してください。

物理的移行を実行する前に、次の点に注意してください。

  • Oracle Database 19.16には、表領域暗号化管理用の新しいパラメータがあります。このパラメータは、物理移行の競合を引き起こす可能性があります。詳細は、「ドキュメントの確認」の項で表領域暗号化管理を確認してください。
  • オンプレミスのOracle Exadataでは、単一インスタンス・データベースとRACデータベースの両方を実行できます。Oracle Exadata Database Service on Dedicated Infrastructureは、RACデータベースを実行します。データベースの移行中、Oracle Zero Downtime Migrationは、必要に応じて単一インスタンスをRACデータベースに変換します。
  • Transparent Data Encryption (TDE)ウォレットは、ソース・データベースが暗号化されていない場合でも、移行前にソース・データベースで定義する必要があります。
  • オンプレミスのOracle Exadataでは、Oracle Transparent Data Encryptionを使用してデータベースを暗号化することはオプションです。ExadataからDedicated InfrastructureのOracle Exadata Database Serviceにデータベースを移行する場合、ターゲットのOracle Exadata Database Service on Dedicated Infrastructureデータベースは常に暗号化されます。
  • 次のステップでは、Exadataがインストールされているデータ・センターと、Oracle Exadata Database Service on Dedicated InfrastructureおよびOracle Zero Downtime Migration仮想マシンが構成されているOCI Virtual Cloud Networkの間に直接ネットワーク接続があることを前提としています(アーキテクチャ図に示すように、FastConnectまたはIPSec VPNを介して)。
  • Oracle Exadata上のソース・データベースを暗号化する必要はありません。Oracle Zero Downtime Migrationは、移行中にターゲット・データベースを暗号化します。
  • ソース・データベースとターゲット・データベースのsysパスワード、ウォレット・パスワード、データベース・バージョンおよびパッチ・レベルは同じである必要があります。
  • Oracle Zero Downtime Migrationは、コンテナ・データベース(CDB)CDBに、非CDBを非CDBに移行します。
  • Oracle Zero Downtime Migrationは、Oracle Database Backup Cloud Serviceを使用して、ソースExadataデータベースをOCI Object Storageにバックアップします。Oracle Zero Downtime Migrationは、このバックアップからターゲット・データベースをリストアします。

次の手順では、オフラインの物理移行を実行する方法について説明します。

  1. OCIコンソールで、ターゲット・データベースが構成されるのと同じサブネットにコンピュート・インスタンスを作成します。
    このコンピュート・インスタンスは任意のシェイプで、少なくとも2つのOCPUと16GBのRAMがあり、Oracle Linux 7.9オペレーティング・システムが実行されます。この仮想マシンは、Oracle Zero Downtime Migrationソフトウェアの実行に使用されます。
  2. 「ドキュメントの確認」セクションのOracle Zero Downtime Migrationインストールドキュメントに従って、OCIコンピュート・インスタンスにOracle Zero Downtime Migration 21.4ソフトウェアをダウンロードしてインストールします。
    Oracle Zero Downtime Migrationソフトウェアをzdmuserとして実行します。
  3. Oracle Zero Downtime Migrationソフトウェアを実行しているコンピュート・インスタンスにzdmuserとしてログインし、SSHキーペアを生成します。zdmuserアカウントからソースExadataデータベースのすべてのノード(rootprivilege-sudoer user)およびターゲット・データベースopc userアカウントのすべてのVMクラスタ・ノードへのパスワードなしのsshを有効にします。
  4. Oracle Zero Downtime Migration VMがホスト名とIPアドレスを使用してソース・データベース・ホストと通信できることを確認します。次の点を確認します。
    • 必要に応じて、VCN DNSリゾルバ、またはOracle Zero Downtime Migration VMの/etc/hostsファイルを変更します。
    • Oracle Zero Downtime Migration VMがデフォルトのリスナー・ポート1521およびsshポート22のソース・データベースに接続できるようにするセキュリティ・ルールがあることを確認します。
    • Oracle Zero Downtime Migration VMが、デフォルトのリスナー・ポート1521およびsshポート22のターゲット・データベース・ホストにアクセスできることを確認します。
  5. OCIコンソールで、OCI Object Storageバケットがまだ存在しない場合は作成します。
    Swift URL、オブジェクト・ストレージ・ネームスペースおよびバケット名に注意してください。
  6. OCIコンソールで、OCI Object StorageバケットにデータをアップロードするOCI_userの認証トークンを作成します。
    トークンに注意してください。これは再度表示されません。
  7. OCI_userOCI Object Storageバケットにデータをアップロードすることを許可するセキュリティ・ポリシーを確認します。
  8. OCI GUIまたはREST APIを使用して、Oracle Exadata Database Service on Dedicated Infrastructureターゲット・データベースを作成します。ターゲット・データベースを次のように構成します:
    • ターゲット・データベースとソース・データベースの名前が同じで、DB_UNIQUE_NAMEが異なる必要があります。
    • ソース・データベースとターゲット・データベースのsysパスワード、ウォレット・パスワード、データベース・バージョン、パッチ・レベルおよびタイムゾーン・ファイルのバージョンは同じである必要があります。
    • バックアップの保存先を選択したり、自動バックアップを有効にしないでください。これらの設定は、データベースの移行後に有効にできます。
  9. ソース・データベースがArchivelogモードで構成されていることを確認します。Archivelogが有効になっていない場合は、後述のEnable Archivelog Modeを参照してください。
  10. ソース・データベースが暗号化されていない場合は、後述のTransparent Data Encryption (TDE)キーストアの構成を参照してください。データは暗号化する必要はなく、物理移行に必要なのはTDEキーストアのみです。キーストア(ウォレット)のパスワードが、Oracle Exadata Database Service on Dedicated Infrastructureでターゲット・データベースの作成に使用されるsys/ウォレット・パスワードと同じであることを確認してください。
  11. Oracle Zero Downtime Migrationのレスポンス・ファイルを作成して、移行を実行します。キー・パラメータは次のとおりです:
    • TGT_DB_UNIQUE_NAME: ターゲットOracle Exadata Database Service on Dedicated Infrastructureデータベースのデータベースの一意の名前。
    • MIGRATION_METHOD: OFFLINE_PHYSICALまたはONLINE_PHYSICAL
    • DATA_TRANSFER_MEDIUM: OSS
    • PLATFORM_TYPE: EXACS
    • HOST: ステップ5のOCI Object StorageネームスペースのSwift URL (https://swiftobjectstorage.<region>.oraclecloud.com/v1/<namespace>>.)たとえば次のようにします。
      https://switfobjectstorage.us-phoenix-1.oraclecloud.com/v1/axwytvijqqld
    • OPC_CONTAINER: ステップ4のOCI Object Storageバケット名。
    • SHUTDOWN_SRC: TRUE
  12. Oracle Zero Downtime Migration予行演習移行ジョブ(-eval)を実行して、移行のすべての前提条件を検証します。次に例を示します。
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_Exadata_node \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_exadata_database_dedicated_VM_cluster_node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_10 \
    -backupuser “OCI_user_id_for_user_allowed_to_upload_data_to_OCI_object_storage_bucket”
    -eval
    このコマンドは、2つのパスワードを要求します。最初のパスワードは、ソース・データベースのsysパスワードです。2番目のパスワードは、OCI Object StorageバケットにデータをアップロードするユーザーのOCI_userパスワードです。ここでユーザー・パスワードを入力しないでください。かわりに、ステップ6の認証トークンを入力します。
    予行演習が成功した後、次のステップに進みます。
  13. Oracle Zero Downtime Migrationジョブを実行します。次に例を示します。
    zdmcli migrate database -sourcedb source_db_name \
    -sourcenode IP/hostname_of_first_Exadata_node \
    -srcauth zdmauth \
    -srcarg1 user: root_or_sudoer_user \
    -srcarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -srcarg3 sudo_location:/usr/bin/sudo \
    -targetnode IP/hostname_of_first_exadata_database_dedicated_VM_cluster_node
    -tgtarg1 user:opc \
    -tgtarg2 identity_file: path_to_ssh_private_key/ssh_private_key_file_name
    \
    -tgtarg3 sudo_location:/usr/bin/sudo \
    -rsp path_to_response_file/response_file_name_from_step_10 \
    -backupuser “OCI_user_id_for_user_allowed_to_upload_data_to_OCI_object_storage_bucket
    このコマンドは、2つのパスワードを要求します。最初のパスワードは、ソース・データベースのsysパスワードです。2番目のパスワードは、OCI Object StorageバケットにデータをアップロードするユーザーのOCI_userパスワードです。ここでユーザー・パスワードを入力しないでください。かわりに、ステップ6の認証トークンを入力します。
オフライン物理移行が完了しました。

Archivelogモードの有効化

Oracle Zero Downtime Migration物理移行のソース・データベースでアーカイブ・ログ・モードを有効にする必要があります。これらのステップでは、ソース・データベースでArchivelogモードを構成する方法について説明します。

  1. ソース・データベースがArchivelogモードで構成されていないことを確認します。
    SQL> select log_mode from v$database;
    LOG_MODE
    ------------
    NOARCHIVELOG
  2. ソース・データベース・ログのアーカイブ先を構成します。この構成はExadataで実行されているデータベース用であるため、Archivelog宛先はOracle RECO ASMディスク・グループである必要があります。
    SQL> alter system set log_archive_dest_1='LOCATION=+RECOC1' scope=both SID='*';
    System altered.
    SQL> select destination,STATUS from v$archive_dest where statuS='VALID';
    DESTINATION
    --------------------------------------------------------------------------------
    STATUS
    ---------
    +RECOC1
    VALID
  3. データベースを停止します。
    $ srvctl stop database -d db_name
  4. 最初のノードでデータベースのマウントを開始します。
    SQL> startup mount;
    ORACLE instance started.
  5. Archivelogモードを有効にします。
    alter database archivelog;
  6. データベースをオープンします。
    alter database open;
  7. データベースがArchivelogモードであることを確認します。
    SQL> select log_mode from v$database;
    LOG_MODE
    ------------
    ARCHIVELOG
    SQL> select destination,STATUS from v$archive_dest where status='VALID';
    DESTINATION
    --------------------------------------------------------------------------------
    STATUS
    ---------
    +RECOC1
    VALID
  8. 2番目のノードでデータベースを再起動します。
    $ srvctl start instance -d db_name -n hostname_node2
  9. 両方のノードでプラガブル・データベースがオープン、読取り、書込みモードであることを確認します。プラガブル・データベースがオープンされていない場合は、両方のノードでプラガブル・データベースを開き、状態を保存します。
    SQL> Alter pluggabale database pdb_name open instances=all;
    SQL>Alter pluggable database pdb_name save state instances=all;

Transparent Data Encryption (TDE)キーストアの構成

Oracle Zero Downtime Migrationの物理移行には、(ソース・データベースが暗号化されていない場合でも) auto_login TDE暗号化キーストア/ウォレットが必要です。このキーストアは、ターゲット・データベース・キーストアと同じパスワードで構成する必要があります。これらのステップでは、ソース・データベースでキーストアを構成する方法について説明します。

  1. データベースにデフォルトのキーストアの場所が構成されているかどうかを確認します。
    SQL> select * from v$encryption_wallet;
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
    CON_ID
    ----------
    FILE
    /u01/app/oracle/admin/db_name/wallet
    NOT_AVAILABLE UNKNOWN SINGLE NONE UNDEFINED
    1
    SQL>
    この出力は、キーストアまたはウォレットが構成されていないことを示しています。
  2. 両方のExadataノードでoracleユーザーの変数TNS_ADMINを設定します。
    $ORACLE_HOME/network/admin/db_name
  3. TNS_ADMINが指す両方のExadataノードにsqlnet.oraファイルを格納するディレクトリを作成します。
    mkdir -p $ORACLE_HOME/network/admin/db_name
  4. 両方のExadataノードで次の内容を使用して、TNS_ADMINが指すディレクトリにsqlnet.oraファイルを作成します。
    ENCRYPTION_WALLET_LOCATION=(SOURCE=(METHOD=FILE)
     (METHOD_DATA=(DIRECTORY=/u01/app/oracle/admin/db_name/wallet)))
  5. 両方のExadataノードでsqlnet.oraが指す場所にキーストアまたはウォレットを格納するディレクトリを作成します。
    $mkdir -p $/u01/app/oracle/admin/db_name/wallet
  6. 最初のノードで、パスワードで保護されたキーストアを作成します。
    ターゲット・データベースのキーストアもこのパスワードで構成する必要があります。
    SQL>administer key management create keystore '/u01/app/oracle/admin/db_name/wallet' identified by keystore_password;
  7. 最初のノードでキーストアを開きます。
    ソース・データベースが非CDBの場合は、container = ALLを削除します。
    SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE OPEN IDENTIFIED BY keystore_password container = ALL;
  8. キーストアのバックアップを作成します。
    ソース・データベースが非CDBの場合は、container = ALLを削除します。
    SQL> ADMINISTER KEY MANAGEMENT SET KEY IDENTIFIED BY keystore_password with backup container = ALL;
  9. キーストアが作成され、バックアップされたことを確認します。
    SQL> SELECT * FROM v$encryption_keys;
    Snip…
    ACTIVATING_PDBNAME
    --------------------------------------------------------------------------------
    ACTIVATING_PDBID ACTIVATING_PDBUID ACTIVATING_PDBGUID CON_ID
    ---------------- ----------------- -------------------------------- ----------
    ATOlrcGaa0/iv/dFeRSkNSIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    --------------------------------------------------------------------------------
    ACTIVATING_PDBID ACTIVATING_PDBUID ACTIVATING_PDBGUID CON_ID
    ---------------- ----------------- -------------------------------- ----------
    db_name
    ACTIVATING_PDBID ACTIVATING_PDBUID ACTIVATING_PDBGUID CON_ID
    ---------------- ----------------- -------------------------------- ----------
    1 86B637B62FDF7A65E053F706E80A27CA
    Snip…
  10. ステップ7で作成したキーストアからauto_loginキーストアを作成します。
    SQL> ADMINISTER KEY MANAGEMENT CREATE AUTO_LOGIN KEYSTORE FROM KEYSTORE '/u01/app/oracle/admin/db_name/wallet' IDENTIFIED BY keystore_password ;
  11. ステップ7のキーストアを閉じます。
    SQL> ADMINISTER KEY MANAGEMENT SET KEYSTORE CLOSE IDENTIFIED BY keystore_password;
  12. auto_loginキーストアがまだ開いていることを確認します。
    SQL> SELECT * FROM v$encryption_wallet;
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
    CON_ID
    ----------
    FILE
    /u01/app/oracle/admin/db_name/wallet
    OPEN AUTOLOGIN SINGLE NONE NO
  13. ノード1からノード2にウォレット・ファイルを作成します。
    cd /u01/app/oracle/admin/db_name/wallet.
    scp * node_2:/u01/app/oracle/admin/db_name/wallet
  14. 両方のExadataノードでデータベースを再起動します。
    $ srvctl stop database -d db_name
    $ srvctl start database -d db_name
    $ srvctl status database -d db_name
    Instance db_name1 is running on node node_1
    Instance db_name2 is running on node node_2
  15. 両方のノードでauto_loginウォレットが開いていることを確認します。
    SQL> SELECT * FROM v$encryption_wallet;
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
    CON_ID
    ----------
    FILE
    /u01/app/oracle/admin/db_name/wallet/
    OPEN AUTOLOGIN SINGLE NONE NO
    1
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
    CON_ID
    ----------
    FILE
    OPEN AUTOLOGIN SINGLE UNITED NO
    2
    WRL_TYPE
    --------------------
    WRL_PARAMETER
    --------------------------------------------------------------------------------
    STATUS WALLET_TYPE WALLET_OR KEYSTORE FULLY_BAC
    ------------------------------ -------------------- --------- -------- ---------
    CON_ID
    ----------
    FILE
    OPEN_NO_MASTER_KEY AUTOLOGIN SINGLE UNITED UNDEFINED
    3
    SQL>
  16. 両方のノードでプラガブル・データベースがオープン、読取り、書込みモードであることを確認します。プラガブル・データベースがオープンされていない場合は、両方のノードでプラガブル・データベースをオープンし、状態を保存します。
    SQL> Alter pluggabale database pdb_name open instances=all;
    SQL>Alter pluggable database pdb_name save state instances=all;