機械翻訳について

RMAN CONVERTトランスポータブル表領域とデータ・ポンプ

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

この方法はデータ・ポンプ・トランスポータブル表領域方法と似ていますが、さらにRMAN CONVERTコマンドによってエンディアンネスが異なるプラットフォーム間でのトランスポートが可能になります。 V$TRANSPORTABLE_PLATFORMを問い合せて、オンプレミス・データベース・プラットフォームでクロスプラットフォームの表領域トランスポートがサポートされているかどうかを判別し、プラットフォームのエンディアン形式を確認します。 Oracle Database Cloud Serviceプラットフォームはリトル・エンディアン形式です。

RMANを使用して、表領域をオンプレミスのOracle DatabaseからDatabase Cloud Service上のデータベース・デプロイメントに移行するには、次のタスクを実行します。

  1. オンプレミス・データベース・ホストで、データ・ポンプのトランスポータブル表領域エクスポート用にデータベースを準備します。

  2. オンプレミス・データベース・ホストで、データ・ポンプ・エクスポートを起動してトランスポータブル表領域エクスポートを実行します。

  3. オンプレミス・データベース・ホストで、RMANを起動し、CONVERT TABLESPACEコマンドを使用して表領域データファイルをOracle Database Cloudプラットフォームの形式に変換します。 CONVERTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

  4. セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルおよび変換された表領域データファイルをDatabase Cloud Serviceの計算ノードに転送します。

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

  6. Database Cloud Serviceの計算ノードで、表領域インポート用にデータベースを準備します。

  7. Database Cloud Service計算ノードでData Pump Importを起動し、データベースに接続します。

  8. Database Cloud Serviceの計算ノードで、データベースの表領域をREAD WRITEモードに設定します。

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

RMAN CONVERTトランスポータブル表領域とデータ・ポンプ: 例

この例では、オンプレミスOracle Databaseの表領域をOracle Database Cloud Serviceデータベースに移行するために必要なタスクを順を追って示します。

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

  1. オンプレミス・データベース・ホストで、データ・ポンプのトランスポータブル表領域エクスポート用にデータベースを準備します。

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

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

      $ sqlplus system
      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;
      Tablespace altered.
      SQL> ALTER TABLESPACE fsdata READ ONLY;
      Tablespace altered.
      
    5. SQL*Plusを終了します。

  2. オンプレミス・データベース・ホストで、データ・ポンプ・エクスポートを起動してトランスポータブル表領域エクスポートを実行します。

    オンプレミス・データベース・ホストで、データ・ポンプ・エクスポートを起動し、オンプレミス・データベースに接続します。 TRANSPORT_TABLESPACESオプションを使用して、オンプレミス表領域をエクスポートします。 要求されたら、SYSTEMユーザーのパスワードを指定します。

    $ expdp system TRANSPORT_TABLESPACES=fsdata,fsindex TRANSPORT_FULL_CHECK=YES DIRECTORY=dp_for_cloud
    
  3. オンプレミス・データベース・ホストで、RMANを起動し、CONVERT TABLESPACEコマンドを使用して表領域データファイルをOracle Database Cloudプラットフォームの形式に変換します。

    1. RMANを起動します。

      $ rman target /
      
    2. RMAN CONVERT TABLESPACEコマンドを実行してデータファイルを変換し、変換したファイルをオンプレミス・データベース・ホストの一時的な場所に格納します。

      RMAN> CONVERT TABLESPACE fsdata, fsindex
         2> TO PLATFORM 'Linux x86 64-bit'
         3> FORMAT '/tmp/%U ';
      …
      input datafile file number=00006 name=/u01/app/oracle/oradata/orcl/fsdata01.dbf
      converted datafile=/tmp/data_D-ORCL_I-1410251631_TS-FSDATA_FNO-6_0aqc9un3
      …
      input datafile file number=00007 name=/u01/app/oracle/oradata/orcl/fsindex01.dbf
      converted datafile=/tmp/data_D-ORCL_I-1410251631_TS-FSINDEX_FNO-7_0bqc9un6
      …
      
    3. 変換したファイルの名前を書き留めます。 次の手順で、これらのファイルをDatabase Cloud Serviceの計算ノードにコピーします。

    4. RMANを終了します。

  4. セキュア・コピー・ユーティリティを使用して、データ・ポンプ・エクスポートのダンプ・ファイルおよび変換された表領域データファイルをDatabase Cloud Serviceの計算ノードに転送します。

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

    1. Database Cloud Serviceの計算ノードで、ダンプ・ファイル用のディレクトリを作成します。

      $ mkdir /u01/app/oracle/admin/ORCL/dpdump/from_onprem
      
    2. scpコマンドを使用してファイルをコピーする前に、Database Cloud Serviceの計算ノードにアクセスできるようにするSSH秘密鍵がオンプレミス・ホストで使用できることを確認します。

    3. オンプレミス・データベース・ホストで、scpユーティリティを使用してダンプ・ファイルおよびトランスポータブル・セットのすべてのデータファイルをDatabase Cloud Serviceの計算ノードに転送します。

      $ scp -i private_key_file \
      /u01/app/oracle/admin/orcl/dpdump/for_cloud/expdat.dmp \
      oracle@IP_address_DBaaS_VM:/u01/app/oracle/admin/ORCL/dpdump/from_onprem
      
      $ scp -i private_key_file \
      /tmp/data_D-ORCL_I-1410251631_TS-FSDATA_FNO-6_0aqc9un3 \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL/fsdata01.dbf
      
      $ scp -i private_key_file \
      /tmp/data_D-ORCL_I-1410251631_TS-FSINDEX_FNO-7_0bqc9un6 \
      oracle@IP_address_DBaaS_VM:/u02/app/oracle/oradata/ORCL/fsindex01.dbf
      
  5. オンプレミス表領域をREAD WRITEに戻します。

    1. SQL*Plusを起動し、SYSTEMユーザーとしてログインします。

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

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

  6. Database Cloud Serviceの計算ノードで、表領域インポート用にデータベースを準備します。

    1. Database Cloud Service計算ノードでSQL*Plusを起動し、SYSTEMユーザーとしてデータベースにログインします。

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

      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;
      
  7. Database Cloud Service計算ノードでData Pump Importを起動し、データベースに接続します。

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

    $ impdp system DIRECTORY=dp_from_onprem \
    TRANSPORT_DATAFILES='/u02/app/oracle/oradata/ORCL/fsdata01.dbf', \
    '/u02/app/oracle/oradata/ORCL/fsindex01.dbf'
    
  8. Database Cloud Serviceの計算ノードで、データベースの表領域をREAD WRITEモードに設定します。

    1. SQL*Plusを起動し、SYSTEMユーザーとしてログインします。

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

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

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