Oracle Cloud Infrastructureドキュメント

RMANクロス・プラットフォームのトランスポート可能表領域バックアップ・セット

このメソッドは、オンプレミス・データベースのデータベース・キャラクタ・セットとDatabaseサービス・データベースが互換性がある場合にのみ使用できます。

ノート

データベース全体のクロス・プラットフォーム転送を可能にする同様のメソッドの詳細については、リリース12.2または12.1「Oracle Database 12cバックアップおよびリカバリ・ユーザー・ガイド」を参照してください。 データベース全体を異なるプラットフォームにトランスポートする場合は、ソース・プラットフォームと宛先プラットフォームが同じエンディアン形式を使用している必要があります。

RMTクロス・プラットフォーム・トランスポータブル・バックアップ・セット・メソッドを使用して、Oracle Database 12cオンプレミスの表領域をDatabaseサービス・デプロイメントのOracle Database 12cデータベースに移行するには、次の作業を行います:

  1. オンプレミス・データベース・ホストで、トランスポートするユーザー定義の表領域をREAD ONLYモードに配置して、データベースを準備します。

  2. オンプレミス・データベース・ホストで、RMANを起動し、TO PLATFORMまたはFOR TRANSPORT句とDATAPUMP句とともにBACKUPコマンドを使用して、クロス・プラットフォーム・トランスポート用のバックアップ・セットを作成します。 BACKUPコマンドの詳細については、リリース12.2または12.1「Oracle Databaseバックアップおよびリカバリのリファレンス」"BACKUP"を参照してください。

  3. 安全なコピー・ユーティリティを使用して、Data Pumpエクスポート・ダンプ・ファイルを含むバックアップ・セットをDatabaseサービスのコンピュート・ノードに転送します。

  4. オンプレミス表領域をREAD WRITEに戻します。

  5. Databaseサービスのコンピュート・ノードで、必要なスキーマを作成してデータベースを準備します。

  6. Databaseサービスのコンピュート・ノードで、RMANを起動し、RESTOREコマンドとforeignFileSpecサブ・クエリーを使用して、クロス・プラットフォーム・バックアップをリストアします。

  7. Databaseサービスのコンピュート・ノードで、データベースの表領域をREAD WRITEモードに設定します。

詳細については、リリース12.2または12.1「Oracle Database Backup and Recoveryユーザーズ・ガイド」「バックアップ・セットを使用したクロス・プラットフォーム・データ転送の概要」を参照してください。

RMANクロス・プラットフォーム・トランスポータブル表領域バックアップ・セット: 例

この例では、Oracle Database PDBの表領域をDatabaseサービス・データベースに移行するために必要なタスクのデモを段階的に示します。

この例では、FSDATAおよびFSINDEX表領域の移行を実行します。

この例では、オンプレミス・データベースはLinuxホスト上にあります。

  1. オンプレミス・データベース・ホストで、エクスポート・ダンプ・ファイル用のディレクトリを作成し、読取り専用モードでトランスポートするユーザー定義の表領域を配置して、データベースを準備します。

    1. オンプレミス・データベース・ホストで、エクスポート・ダンプに使用するオペレーティング・システム内のディレクトリを作成します。

      mkdir /u01/app/oracle/admin/orcl/dpdump/for_cloud
    2. オンプレミスのデータ・ホストで、SQL*Plusを呼び出し、SYSTEMユーザーとしてPDBにログインします。

      sqlplus system@pdb_servicename 
      Enter password: enter the password for the SYSTEM user
    3. オンプレミス・データベースにディレクトリ・オブジェクトを作成して、オペレーティング・システム・ディレクトリを参照します。

      SQL> CREATE DIRECTORY dp_for_cloud AS '/u01/app/oracle/admin/orcl/dpdump/for_cloud';
    4. オンプレミス・データベース・ホストで、トランスポートされるすべての表領域(トランスポータブル・セット)をREAD ONLYモードに設定します。

      SQL> ALTER TABLESPACE fsindex READ ONLY;
      SQL> ALTER TABLESPACE fsdata READ ONLY;
    5. SQL*Plusを終了します

  2. オンプレミス・データベース・ホストで、RMANを起動し、TO PLATFORMまたはFOR TRANSPORT句とDATAPUMP句とともにBACKUPコマンドを使用して、クロス・プラットフォーム・トランスポート用のバックアップ・セットを作成します。

    1. オンプレミス・データベース・ホストで、データファイルのオペレーティング・システム・ディレクトリを作成します。

      mkdir /u01/app/oracle/admin/orcl/rman_transdest
    2. RMANを起動し、SYSDBAまたはSYSBACKUP権限が付与されたユーザーとしてログインします。

      rman target username@pdb_servicename 
    3. BACKUPコマンドを実行します。

      RMAN> BACKUP FOR TRANSPORT
      2> FORMAT '/u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.bck'
      3> TABLESPACE fsdata,fsindex
      4> DATAPUMP FORMAT '/u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.dmp';
    4. RMANからログアウトします。

    5. 必要に応じて、BACKUPコマンドで指定したディレクトリに移動して、作成されたファイルを表示します。

      cd /u01/app/oracle/admin/orcl/rman_transdest
      $ ls
      fs_tbs.bck  fs_tbs.dmp
  3. セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポート・ダンプ・ファイルを含むバックアップ・セットをDatabaseサービスのコンピュート・ノードに転送します。

    1. Databaseサービスのコンピュート・ノードで、バックアップ・セットとダンプ・ファイル用のディレクトリを作成します。

      mkdir /tmp/from_onprem
    2. scpコマンドを使用してファイルをコピーする前に、Databaseサービスのコンピュート・ノードへのアクセスを提供するSSH秘密キーが、オンプレミスのhost.で使用可能であることを確認してください

    3. オンプレミス・データベース・ホストで、SCPユーティリティを使用して、バックアップ・セットとダンプ・ファイルをDatabaseサービスのコンピュート・ノードに転送します。

      scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.bck \
      oracle@IP_address_DBaaS_VM:/tmp/from_onprem $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fs_tbs.dmp \
      oracle@IP_address_DBaaS_VM:/tmp/from_onprem $
  4. オンプレミス表領域をREAD WRITEに戻します。

    1. SQL*Plusを呼び出し、PDBにSYSTEMユーザーとしてログインします。

    2. FSDATAおよびFSINDEX表領域をREAD WRITEモードに戻します。

      SQL> ALTER TABLESPACE fsdata READ WRITE;
      SQL> ALTER TABLESPACE fsindex READ WRITE;
    3. SQL*Plusを終了します

  5. Databaseサービスのコンピュート・ノードで、必要なスキーマを作成してデータベースを準備します。

    1. Databaseサービスのコンピュート・ノードで、SQL*Plusを呼び出し、PDBにSYSTEMユーザーとしてログインします。

    2. インポートするオブジェクトの所有者がデータベースに存在しない場合は、RESTOREを実行する前に作成してください。

      SQL> CREATE USER fsowner
        2  PROFILE default
        3  IDENTIFIED BY fspass
        4  TEMPORARY TABLESPACE temp
        5  ACCOUNT UNLOCK;
  6. Databaseサービスのコンピュート・ノードで、RMANを起動し、foreignFileSpecコマンドとforeignFileSpecコマンドを使用してクロス・プラットフォーム・バックアップをリストアします。

    1. Data Pump Dumpファイルのオペレーティング・システム・ディレクトリを作成します。

      mkdir /tmp/from_onprem
    2. RMANを起動し、SYSDBAまたはSYSBACKUP権限が付与されたユーザーとしてPDBにログインします。

      rman target username@pdb_servicename
    3. RESTOREコマンドを実行します。

      RMAN> RESTORE FOREIGN TABLESPACE fsdata,fsindex TO NEW
      2> FROM BACKUPSET '/tmp/from_onprem/fs_tbs.bck'
      3> DUMP FILE DATAPUMP DESTINATION '/tmp/datapump'
      4> FROM BACKUPSET '/tmp/from_onprem/fs_tbs.dmp';
    4. RMANを終了します。

  7. Databaseサービスのコンピュート・ノードで、表領域をREAD WRITEモードに設定します。

    1. SQL*Plusを呼び出し、PDBにSYSTEMユーザーとしてログインします。

    2. FSDATAおよびFSINDEX表領域をREAD WRITEに設定します。

      SQL> ALTER TABLESPACE fsdata READ WRITE;
      SQL> ALTER TABLESPACE fsindex READ WRITE;
    3. SQL*Plusを終了します

  8. データが正常にインポートされたことを確認した後、オンプレミス・ホストから転送されたバックアップ・セット・ファイルを削除できます。