日本語PDF

RMANを使用したプラットフォーム間でのデータの変換

RMAN CONVERTコマンドを使用してデータを変換する場合は、データ・ポンプ・エクスポートを実行した後にソース・プラットフォームでデータを変換するか、またはデータ・ポンプ・インポートを実行する前にターゲット・プラットフォームでデータを変換できます。いずれの場合も、データファイルをソース・システムからターゲット・システムに転送する必要があります。

次のRMAN CONVERTコマンドを使用してデータを変換できます。

  • CONVERT DATAFILE

  • CONVERT TABLESPACE

  • CONVERT DATABASE

注意:

  • RMAN CONVERTコマンドにはデータ型の制約が適用されます。

  • RMAN CONVERTコマンドでは、UNDOセグメントを含むデータファイルについて、異なるendian形式間でのデータファイルの変換はサポートされていません。

エクスポート後のソース・システムでの表領域の変換

例を使用して、表領域を異なるプラットフォームに変換するために、RMAN CONVERT TABLESPACEコマンドを使用する方法を示します。

この例では、次のことを想定しています。

  • sales_1およびsales_2表領域を異なるプラットフォームにトランスポートします。

  • ソース・プラットフォームのendiannessはターゲット・プラットフォームのendiannessと異なります。

  • 表領域セットをターゲット・システムにトランスポートする前に、ソース・システムでデータを変換します。

  • ソース・データベースでデータ・ポンプ・エクスポートを完了しています。

ソース・システムで表領域を変換するには、次のステップを実行します。

  1. コマンド・プロンプトで、RMANを起動してソース・データベースに接続します。
    $ RMAN TARGET /
    
    Recovery Manager: Release 12.1.0.1.0 - Production
    
    Copyright (c) 1982, 2012, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: salesdb (DBID=3295731590)
    
  2. RMAN CONVERT TABLESPACEコマンドを使用してデータファイルを変換し、ソース・プラットフォーム上の一時的な場所に格納します。

    この例では、一時的な場所はディレクトリ/tmpと想定し、すでに作成されているとします。変換されたデータファイルの名前は、システムによって割り当てられます。

    RMAN> CONVERT TABLESPACE sales_1,sales_2 
    2> TO PLATFORM 'Microsoft Windows IA (32-bit)'
    3> FORMAT '/tmp/%U';
    
    Starting conversion at source at 30-SEP-08
    using channel ORA_DISK_1
    channel ORA_DISK_1: starting datafile conversion
    input datafile file number=00007 name=/u01/app/oracle/oradata/salesdb/sales_101.dbf
    converted datafile=/tmp/data_D-SALESDB_I-1192614013_TS-SALES_1_FNO-7_03jru08s
    channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:45
    channel ORA_DISK_1: starting datafile conversion
    input datafile file number=00008 name=/u01/app/oracle/oradata/salesdb/sales_201.dbf
    converted datafile=/tmp/data_D-SALESDB_I-1192614013_TS-SALES_2_FNO-8_04jru0aa
    channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:25
    Finished conversion at source at 30-SEP-08

    関連項目:

    RMANのCONVERTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

  3. Recovery Managerを終了します。
    RMAN> exit
    Recovery Manager complete.
    
  4. データファイルをターゲット・システムに転送します。

インポート前のターゲット・システムでのデータファイルの変換

例を使用して、データファイルを異なるプラットフォームに変換するために、RMAN CONVERT DATAFILEコマンドを使用する方法を示します。

変換時、データファイルは、表領域名ではなく、ファイル名で指定します。表領域のメタデータがインポートされるまで、ターゲット・インスタンスでは対象の表領域名を認識できません。

この例では、次のことを想定しています。

  • トランスポートする表領域のデータファイルはまだ変換していません。

    DBMS_FILE_TRANSFERパッケージを使用してデータファイルをターゲット・システムに転送した場合、データファイルはファイル転送中に自動的に変換されています。「DBMS_FILE_TRANSFERパッケージを使用したプラットフォーム間でのデータの変換」を参照してください。

  • 次のデータファイルを異なるプラットフォームにトランスポートします。

    • C:\Temp\sales_101.dbf

    • C:\Temp\sales_201.dbf

  • ソース・プラットフォームのendiannessはターゲット・プラットフォームのendiannessと異なります。

  • データ・ポンプ・インポートを実行する前に、ターゲット・システムでデータを変換します。

  • 変換されたデータファイルは、C:\app\orauser\oradata\orawin\(ターゲット・システムの既存データファイルの場所)に配置されます。

ターゲット・システムで表領域を変換するには、次のステップを実行します。

  1. SQL*Plusを実行している場合は、ホスト・システムに戻ります。
    SQL> HOST
    
  2. RMAN CONVERT DATAFILEコマンドを使用して、データファイルをターゲット・プラットフォームに変換します。
    C:\>RMAN TARGET /
    
    Recovery Manager: Release 12.1.0.1.0 - Production
    
    Copyright (c) 1982, 2012, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: ORAWIN (DBID=3462152886)
    
    RMAN> CONVERT DATAFILE 
    2>'C:\Temp\sales_101.dbf',
    3>'C:\Temp\sales_201.dbf'
    4>TO PLATFORM="Microsoft Windows IA (32-bit)"
    5>FROM PLATFORM="Solaris[tm] OE (32-bit)"
    6>DB_FILE_NAME_CONVERT=
    7>'C:\Temp\', 'C:\app\orauser\oradata\orawin\'
    8> PARALLELISM=4;
    

    ソースの場所、ターゲットの場所、あるいはその両方でOracle Automatic Storage Management(Oracle ASM)を使用しない場合、ソース・プラットフォームとターゲット・プラットフォームはオプションです。RMANでは、データファイルを調べてソース・プラットフォームを判別し、デフォルトのターゲット・プラットフォームは、変換を実行するホストのプラットフォームになります。

    ソースおよびターゲットの場所の両方でOracle ASMを使用する場合は、DB_FILE_NAME_CONVERT句でソース・プラットフォームとターゲット・プラットフォームを指定する必要があります。

    関連項目:

    RMANのCONVERTコマンドの詳細は、『Oracle Databaseバックアップおよびリカバリ・リファレンス』を参照してください。

  3. Recovery Managerを終了します。
    RMAN> exit
    Recovery Manager complete.