Oracle Cloud Infrastructureドキュメント

データ・ポンプを使用したRMANトランスポータブル表領域

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

このメソッドを使用すると、データ・ポンプ・トランスポータブル表領域メソッドの必要に応じて、表領域をREAD ONLYモードに置くことを排除できます。

Data Pump方式のRMANトランスポータブル表領域を使用して、オンプレミスのソース・データベースをDatabaseサービスのデータベース・デプロイメントに移行するには、次の作業を行います:

  1. オンプレミス・データベース・ホストで、RMANを起動し、トランスポータブル表領域セットを作成します。

  2. 安全なコピー・ユーティリティを使用して、Data Pump Exportダンプ・ファイルと表領域データファイルをデータベース・サービス・コンピュート・ノードに転送します。

  3. Databaseサービスのコンピュート・ノードで、表領域インポート用のデータベースを準備します。

  4. Databaseサービスのコンピュート・ノードで、Data Pump Importを呼び出してデータベースに接続します。 TRANSPORT_DATAFILESオプションを使用して、データをデータベースにインポートします。

  5. データが正常にインポートされたことを確認したら、ダンプ・ファイルを削除できます。

データ・ポンプを使用したRMANトランスポータブル表領域: 例

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

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

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

  1. オンプレミス・データベース・ホストで、RMANを起動し、トランスポータブル表領域セットを作成します。

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

      mkdir /u01/app/oracle/admin/orcl/rman_transdest
    2. オンプレミス・データ・ホストで、RMAN補助インスタンス・ファイル用のオペレーティング・システム・ディレクトリを作成します。

      mkdir /u01/app/oracle/admin/orcl/rman_auxdest
    3. RMANを起動し、SYSTEMユーザーとしてログインします。 プロンプトが表示されたら、SYSTEMユーザーのパスワードを入力します。

      rman target system
    4. TRANSPORT TABLESPACEコマンドを実行します。

      RMAN> TRANSPORT TABLESPACE fsdata, fsindex
      2> TABLESPACE DESTINATION '/u01/app/oracle/admin/orcl/rman_transdest'
      3> AUXILIARY DESTINATION '/u01/app/oracle/admin/orcl/rman_auxdest';
    5. RMANからログアウトします。

    6. 必要に応じて、TABLESPACE DESTINATIONで指定したディレクトリに移動し、TRANSPORT TABLESPACE操作で作成されたファイルを表示します。

      cd /u01/app/oracle/admin/orcl/rman_transdest
      $ ls
      dmpfile.dmp  fsdata01.dbf  fsindex01.dbf  impscrpt.sql
  2. 安全なコピー・ユーティリティを使用して、Data Pump Exportダンプ・ファイルと表領域データファイルをデータベース・サービス・コンピュート・ノードに転送します。

    この例では、ダンプ・ファイルは/u01ディレクトリにコピーされます。 転送されるファイルのサイズに基づいて適切なロケーションを選択します。

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

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

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

      scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/dmpfile.dmp \
      oracle@IP_address_DBaaS_VM:/u01/app/oracle/admin/ORCL/dpdump/from_onprem $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fsdata01.dbf \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/rman_transdest/fsindex01.dbf \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL
  3. Databaseサービスのコンピュート・ノードで、表領域インポート用のデータベースを準備します。

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

    2. Databaseサービス・データベースにディレクトリ・オブジェクトを作成します。

      SQL> CREATE DIRECTORY dp_from_onprem AS '/u01/app/oracle/admin/ORCL/dpdump/from_onprem';
    3. インポートするオブジェクトの所有者がデータベースに存在しない場合は、インポートを実行する前に作成します。 転送可能な表領域モードのインポートでは、ユーザーは作成されません。

      SQL> CREATE USER fsowner
        2  PROFILE default
        3  IDENTIFIED BY fspass
        4  TEMPORARY TABLESPACE temp
        5  ACCOUNT UNLOCK;
  4. Databaseサービスのコンピュート・ノードで、Data Pump Importを呼び出してデータベースに接続します。

    TRANSPORT_DATAFILESオプションを使用して、データをデータベースにインポートします。

    impdp system DIRECTORY=dp_from_onprem DUMPFILE='dmpfile.dmp' \
    TRANSPORT_DATAFILES='/u02/app/oracle/oradata/ORCL/fsdata01.dbf', \
    '/u02/app/oracle/oradata/ORCL/fsindex01.dbf'
  5. データが正常にインポートされたことを確認したら、dmpfile.dmpダンプ・ファイルを削除できます。