2.11 CONVERT
目的
CONVERT
コマンドを使用すると、異なるプラットフォーム間でのトランスポートの準備として、表領域、データファイルまたはデータベースをトランスポート先プラットフォームの形式に変換できます。
Oracle Database 10g以上のリリースでは、次の場合にCONVERT DATAFILE
またはCONVERT TABLESPACE
が必要です。
-
V$TRANSPORTABLE_PLATFORM.ENDIAN_FORMAT
の値が異なるプラットフォーム間でのデータファイルをトランスポートする場合。 -
ENDIAN_FORMAT
が同じどうかにかかわらず、プラットフォーム間でUNDOセグメントを持つ表領域(通常は、SYSTEM
表領域とUNDO
表領域、およびロールバック・セグメントを持つ表領域)をトランスポートする場合。通常、SYSTEM
表領域とUNDO
表領域が変換されるのは、データベース全体を変換するときのみです。 -
HP Tru64オペレーティング・システムとの間の変換のように、他のプラットフォーム固有のデータファイルで、必要な変換を実行する場合。
CONVERT
の1つの用途は、Oracle Automatic Storage Management (Oracle ASM)に格納されているデータベースに表領域をトランスポートすることです。Linuxのcp
、WindowsのCOPY
などのオペレーティング・システムのネイティブ・コマンドでは、Oracle ASMディスク・グループの読取りまたは書込みができません。
関連項目:
CONVERT DATAFILE
、CONVERT TABLESPACE
およびCONVERT DATABASE
の使用方法の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。
前提条件
ソースと宛先のプラットフォームが、CONVERT
コマンドでサポートされている必要があります。サポートされているプラットフォームは、V$TRANSPORTABLE_PLATFORM
を問い合せて確認します。プラットフォーム間の表領域トランスポートは、ソースとトランスポート先プラットフォームの両方がこのビューに含まれている場合にのみサポートされます。
ソース・データベースおよびトランスポート先データベースの両方とも、初期化パラメータCOMPATIBLE
が10.0以上に設定されて実行されている必要があります。次の互換性の前提条件に注意してください。
-
COMPATIBLE
の設定が11.0.0未満の場合、読取り専用の表領域またはトランスポートされた既存の表領域は、1回以上読み書き両用にされていなければ、別のプラットフォームにトランスポートできません。表領域は、読み書き両用でオープンした後、すぐに読取り専用に戻すことができます。 -
COMPATIBLE
が11.0.0以上の場合、読み書き両用の表領域に関する前述の制限は適用されません。ただし、トランスポートされた既存の表領域は、トランスポート前にCOMPATIBLE
が10.0に設定され読み書き両用にされた形式である必要があります。
CONVERT TABLESPACEの前提条件
CONVERT TABLESPACE
は、ソース・データベースにTARGET
として接続し、ソース・プラットフォームで表領域を変換する場合にのみ使用できます。
ソース・データベースはマウントまたはオープン状態である必要があります。変換する表領域は、変換時に読取り専用である必要があります。ソース・データベースで表領域を変換する場合は、トランスポート先データベースの状態は関係ありません。
CONVERT DATAFILEの前提条件
CONVERT DATAFILE
は、トランスポート先データベースにTARGET
として接続し、トランスポート先プラットフォームでデータファイルを変換する場合にのみ使用できます。
CONVERT DATABASE ON DESTINATION
で生成されたCONVERT DATAFILE
スクリプトを実行している場合は、NOMOUNT
オプションを指定してトランスポート先データベースのインスタンスを起動する必要があります。CONVERT DATABASE ON DESTINATION
で生成されたCONVERT DATAFILE
スクリプトを実行していない場合は、トランスポート先データベースを起動、マウントまたはオープンすることができます。
トランスポート先データベースでデータファイルのコピーを変換する場合は、ソース・データベースの状態は関係ありません。ただし、トランスポート先データベースで、CONVERT DATAFILE
スクリプトをデータベース変換の一部として実行し、そのスクリプトが(NFSマウントなどにより)ソース・データベースのデータファイルに直接アクセスしている場合は、ソース・データベースは読取り専用でオープンする必要があります。
トランスポート先のホストで表領域を変換する場合は、CONVERT TABLESPACE
では、トランスポート先データベースが変換時にデータファイルを表領域に関連付けることができないので、CONVERT DATAFILE
を使用する必要があります。表領域に必要なデータファイルを変換した後は、そのファイルをトランスポート先データベースにトランスポートできます。
CONVERT DATABASEの前提条件
CONVERT DATABASE
は、ソース
・データベースにTARGETとして接続されている場合にのみ使用できます。また、ソース・データベースは読取り専用でオープンされている必要があります。CONVERT DATABASE ON DESTINATION
を実行しても、CONVERT DATABASE
の実行時、トランスポート先データベースの状態には関係ありません。
CONVERT DATABASE
はCONVERT TABLESPACE
およびCONVERT DATAFILE
と同じメカニズムでデータファイルを変換するため、表領域とデータファイルの使用上の注意と制約事項も適用されます。
CONVERT DATABASE
に追加される重要な前提条件として、ソースとターゲットの両方のプラットフォームで、同じエンディアン形式を共有する必要があるということがあります。たとえば、データベースをMicrosoft WindowsからLinux for x86(ともにリトル・エンディアン)にトランスポートしたり、HP-UXからAIX(ともにビッグ・エンディアン)にトランスポートすることはできますが、SolarisからLinux x86へはトランスポートできません。ただし、ターゲット・プラットフォームに新しいデータベースを手動で作成すると、CONVERT TABLESPACE
またはCONVERT DATAFILE
を使用して、ソース・データベースの表領域を個々にトランスポートできます。
ソース・プラットフォームとトランスポート先プラットフォームのエンディアン形式は同じでも、トランスポータブル・データベースのデータファイルは、ソース・ホストまたはトランスポート先ホストのいずれかで変換する必要があります。エンディアン形式が同じ場合は変換を行う必要がないプラットフォーム間での表領域のトランスポートとは異なり、データベース全体のトランスポートでは、UNDOセグメント内のブロックなどの特定のタイプのブロックを変換して、トランスポート先プラットフォームとの互換性を確保する必要があります。
使用上の注意
変換処理はインプレースで実行されないため、入力ファイルがCONVERT
によって変更されることはありません。かわりに、RMANによって指定された出力先に変換済ファイルが書き込まれます。
データ型の制約事項
CONVERT
では、次のデータ型で格納されたデータのエンディアン変換は実行されません。
-
RAW
-
LONG
RAW
-
BLOB
-
ANYTYPE
/ANYDATA/ANYDATASET
-
前述のデータ型のいずれかの属性を含むユーザー定義型またはOracle抽象型(ORDImageメディア・タイプなど)
注意:
BFILE
データ型のファイル・ロケータは変換されますが、BFILE
が示す外部ファイルは変換されません。
プラットフォーム固有のフォーマットでデータを格納する、基礎となる型に基づいて作成されたデータベースの間でオブジェクトをトランスポートするには、データ・ポンプ・インポートおよびエクスポート・ユーティリティを使用してください。
Oracle Database 10gより前のリリースでは、UTF8
などの可変幅キャラクタ・セットで作成されたCLOBは、エンディアンに依存する固定幅フォーマットで格納されていました。CONVERT
コマンドでは、これらのCLOBに対する変換は実行されません。かわりに、RMANによって、各LOB列のエンディアン形式が取得され、ターゲット・データベースに伝播されます。その後、SQLレイヤーでこのデータを読み取ると、いずれかのエンディアン形式に正確に基づいたデータが解析され、表領域が書込み可能な場合はエンディアンに依存しない方法で書き込まれます。Oracle Database 10g 以上のリリースで作成されたCLOBは、プラットフォームに依存しないキャラクタ・セットAL16UTF16
で格納されます。
関連項目:
表領域の移動方法の詳細は、『Oracle Database管理者ガイド』を参照してください。
セマンティクス
この句は、変換するオブジェクト(データファイル、表領域またはデータベース)を指定します。
構文要素 | 説明 |
---|---|
|
他の必要なデータベース・ファイルを確実に作成できるように、すべてのデータファイルを宛先プラットフォームの形式に変換します。 マルチテナント・コンテナ・データベース(CDB)では、CDB内のすべてのデータファイルを変換します。CDB全体を変換するには、rootに接続します。 注意: PDBに接続した後で
状況に応じて、ソース・プラットフォームまたはトランスポート先プラットフォームのいずれかで
|
|
CDBは、必要な他のデータベース・ファイルを確実に作成できるように、rootのデータファイルを宛先プラットフォームの形式に変換します。rootに接続してデータファイルを変換します。 データベース変換についての一般的な情報は、前述の |
トランスポートを制御するオプションを指定します。 関連項目: |
|
|
この句は、1つ以上のPDBの変換ではサポートされていません。 BACKUPコマンドを |
[ convertOptionList ] DATAFILE ' filename ' convertOptionList |
トランスポート先データベースにトランスポートするデータファイルの名前を指定します(例2-66を参照)。PDBのデータファイルをトランスポートするには、PDBに接続します。 注意:
SELECT NAME FROM V$DATAFILE_COPY WHERE CONVERTED_FILE='YES';
|
TABLESPACE tablespace_name convertOptionList |
別のプラットフォーム上のトランスポート先データベースにトランスポートする予定の、ソース・データベース内の表領域の名前を指定します(例2-65を参照)。 PDBの表領域をトランスポートするには、PDBに接続する必要があります。 このオプションを指定すると、指定した表領域のデータファイルが、別のトランスポート先プラットフォームのフォーマットで生成されます。変換したファイルは、トランスポート先プラットフォームにトランスポートできます。 CDBのrootに接続している場合は、rootの表領域を参照します。PDBに直接接続している場合は、PDBの表領域を参照します。
変換するデータファイルのトランスポート先プラットフォームを指定するには
注意: ソース・ホスト上の表領域のデータファイルを変換するには、 |
変換を制御するオプションを指定します。 関連項目: 「 |
transportOptionList
この句は、トランスポートするデータファイル、表領域またはデータベースのオプションを指定します。
skipSpec
この副次句は、変換処理から除外するファイルを指定します。
構文要素 | 説明 |
---|---|
|
|
|
I/Oエラーのために読み取ることができないデータファイルを除外します。 データファイルは、読取りが不可能な場合にのみアクセス不能とみなされます。一部のオフライン・データファイルは、ディスク上に残っているために読取りが可能です。ディスクから削除または移動されたデータファイルは読み取れないため、アクセス不可能になります。 |
|
オフライン・データファイルを除外します。 |
|
読取り専用データファイルを除外します。 |
convertOptionList
この副次句は、変換の入出力オプションを指定します。
FORMAT
またはfileNameConversionSpec
引数を使用して、CONVERT
コマンドで生成される出力ファイルの名前を制御できます。いずれも指定しない場合、出力ファイルの場所を管理する規則は、BACKUP
AS COPY
操作で生成される出力ファイルを管理する規則と同じになります。この規則については、「backupTypeSpec」
を参照してください。
構文要素 | 説明 |
---|---|
|
読取り専用モードでない表領域の非一貫性バックアップを作成できます。バックアップは作成されますが、これらの表領域をターゲット・データベースに直接組み込むことはできません。 注意: |
文字列のペアです。ペアの最初の文字列が入力ファイル名に含まれている場合は、含まれている場所に関係なく、常に、同じペアの2番目の文字列と置換されます。必要な数の置換文字列のペアを使用できます。一重または二重引用符が使用可能。 関連項目: ASMおよびOracle Managed Filesに関連する制約事項については、「Oracle Managed Filesでの複製」を参照してください |
|
|
出力ファイルのネーム・テンプレートを指定します。ここで有効なフォーマット値については、 RMANが
例2-67で示すとおり、 |
|
ソース・プラットフォームの名前を指定します。指定しなかった場合のデフォルトは、RMANが 指定するプラットフォームは、 SELECT PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX%'; |
|
この操作で使用するチャネルの数を指定します。指定しない場合は、ディスクに対して割り当てられたチャネルまたは構成されたチャネルによってチャネルの数が決定されます。 |
|
トランスポート先プラットフォームの名前を指定します。指定しなかった場合のデフォルトは、RMANが 指定するプラットフォームは、 SELECT PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX%'; |
例
例2-65 ソース・プラットフォームでの表領域の変換
ソース・データベースprodlin
の表領域finance
およびhr
を、トランスポート先データベースprodsun
のプラットフォーム形式に変換するとします。finance
表領域には、データファイル/disk2/orahome/fin/fin01.dbf
および/disk2/orahome/fin/fin02.dbf
が含まれています。hr
表領域には、データファイル/disk2/orahome/fin/hr01.dbf
および/disk2/orahome/fin/hr02.dbf
が含まれています。
prodlin
データベースは、Linuxホストlin01
上で実行されます。V$DATABASE
を問い合せて、プラットフォーム名がLinux IA (32-bit)
で、リトル・エンディアン形式が使用されていることを確認します。prodsun
データベースは、Solarisホストsun01
上で実行されます。V$TRANSPORTABLE_PLATFORM
を問い合せて、SolarisホストのPLATFORM_NAME
がSolaris[tm] OE (64-bit)
で、ビッグ・エンディアン形式が使用されていることを確認します。
表領域の変換はソース・ホスト上で実行し、変換したデータファイルはホストlin01
の/tmp/transport_to_solaris/
に格納するとします。この例は、ソース・データベースのCOMPATIBLE
が10.0以上に設定されていることを前提としています。
ソース・ホストlin01
で、RMANクライアントを起動して次のコマンドを実行します。SBU
はSYSBACKUP
権限を持つ任意のユーザーです。
CONNECT TARGET "sbu@prodlin AS SYSBACKUP"
target database Password: password
connected to target database: PRODLIN (DBID=39525561)
ALTER TABLESPACE finance READ ONLY;
ALTER TABLESPACE hr READ ONLY;
CONVERT TABLESPACE finance, hr
TO PLATFORM 'Solaris[tm] OE (64-bit)'
FORMAT '/tmp/transport_to_solaris/%U';
この結果、変換されたデータファイルのセットが、Solaris(64-bit)プラットフォーム用の正しいエンディアン順序のデータとともに/tmp/transport_to_solaris/
ディレクトリに出力されます。
ここからは、表領域トランスポートの一般的な手順に従います。構造情報ファイルをデータ・ポンプ・エクスポート・ユーティリティを使用して作成し、構造情報ファイルおよび変換済のデータファイルを/tmp/transport_to_solaris/
からトランスポート先ホストの目的のディレクトリに移動し、データ・ポンプ・インポート・ユーティリティを使用して新しいデータベースに表領域を接続します。
例2-66 トランスポート先プラットフォームでのデータファイルの変換
この例では、表領域finance
およびhr
をホストsun01
のデータベースprodsun
からトランスポート先ホストlin01
のデータベースprodlin
で使用可能な形式に変換します。変換前のデータファイルをトランスポート先ホストlin01
のディレクトリ/tmp/transport_from_solaris/
に一時的に格納し、CONVERT DATAFILE
を使用して変換を実行します。トランスポート先データベースにデータファイルをトランスポートすると、そのファイルは/disk2/orahome/dbs
に格納されます。
この例は、表領域トランスポートの準備として次のステップを実行していることを前提としています。
-
データ・ポンプ・エクスポート・ユーティリティを使用して、構造情報ファイル(この例では
expdat.dmp
)を作成していること。 -
ソース・データベースで表領域
finance
およびhr
を読取り専用に設定していること。 -
オペレーティング・システムのユーティリティを使用して、
expdat.dmp
およびトランスポートする変換前のデータファイルを、トランスポート先ホストlin01
の/tmp/transport_from_solaris
ディレクトリにコピーしていること。データファイルは次のように保存されます。-
/tmp/transport_from_solaris/fin/fin01.dbf
-
/tmp/transport_from_solaris/fin/fin02.dbf
-
/tmp/transport_from_solaris/hr/hr01.dbf
-
/tmp/transport_from_solaris/hr/hr02.dbf
-
-
ソース・プラットフォームの名前を
V$TRANSPORTABLE_PLATFORM
を問い合せて、PLATFORM_NAME
がSolaris[tm] OE (64-bit)
であることを確認していること。
変換を実行するときは、次の点に注意してください。
-
データファイルは、表領域名ではなく、ファイル名で指定します。ローカル・インスタンスでは、データファイルが接続されるまで目的の表領域名を特定できません。
-
FORMAT
引数で、変換されたデータファイルの名前および場所を制御します。 -
トランスポート先ホストで変換する場合、
FROM
引数を使用してソース・プラットフォームを指定する必要があります。指定しない場合、RMANは、ソース・プラットフォームも、変換が実行されるホストのプラットフォームであると想定します。
RMANクライアントを起動し、TARGET
として宛先データベースprodlin
に接続します。sbu
は、SYSBACKUP
権限が付与されたユーザーです。次のCONVERT
コマンドを使用して、トランスポートするデータファイルをトランスポート先ホストの形式に変換し、/disk2/orahome/dbs
にその結果を保存します。
CONNECT TARGET "sbu@prodlin AS SYSBACKUP"
target database Password: password
connected to target database: PRODLIN (DBID=39525561)
CONVERT DATAFILE
'/tmp/transport_from_solaris/fin/fin01.dbf',
'/tmp/transport_from_solaris/fin/fin02.dbf',
'/tmp/transport_from_solaris/hr/hr01.dbf',
'/tmp/transport_from_solaris/hr/hr02.dbf'
DB_FILE_NAME_CONVERT
'/tmp/transport_from_solaris/fin','/disk2/orahome/dbs/fin',
'/tmp/transport_from_solaris/hr','/disk2/orahome/dbs/hr'
FROM PLATFORM 'Solaris[tm] OE (64-bit)';
この結果、次のデータファイルがLinux形式に変換されています。
-
/disk2/orahome/dbs/fin/fin01.dbf
-
/disk2/orahome/dbs/fin/fin02.dbf
-
/disk2/orahome/dbs/hr/hr01.dbf
-
/disk2/orahome/dbs/hr/hr02.dbf
ここからは、表領域トランスポートの概要の残りの説明に従います。データ・ポンプ・インポート・ユーティリティを使用して、変換済の表領域を新しいデータベースに接続し、可能な場合は、表領域を読み書き両用に設定します。
例2-67 CONVERT DATAFILEを使用したデータファイルとASM間のコピー
この例では、通常のストレージからASMにデータファイルをコピーする方法を示します。生成されるファイルは、ターゲット・データベースに属するデータファイル・コピーとはみなされないため、LIST DATAFILECOPY
には表示されません。
ソースおよびトランスポート先のプラットフォームを指定せずに、CONVERT DATAFILE
を使用します。出力場所は、ASMディスク・グループ+DATAFILE
を次に示すように指定します。
RMAN> CONVERT DATAFILE '/disk1/oracle/dbs/my_tbs_f1.df', '/disk1/oracle/dbs/t_ax1.f' FORMAT '+DATAFILE'; Starting conversion at 29-MAY-13 using channel ORA_DISK_1 channel ORA_DISK_1: starting datafile conversion input filename=/disk1/oracle/dbs/t_ax1.f converted datafile=+DATAFILE/asmv/datafile/sysaux.280.559534477 channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:16 channel ORA_DISK_1: starting datafile conversion input filename=/disk1/oracle/dbs/my_tbs_f1.df converted datafile=+DATAFILE/asmv/datafile/my_tbs.281.559534493 channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:04 Finished conversion at 29-MAY-13
次の例では、表領域のデータファイルを一意に生成されたファイル名でASMストレージから/tmp
ディレクトリにコピーする方法を示します。
RMAN> CONVERT TABLESPACE tbs_2 FORMAT '/tmp/tbs_2_%U.df'; Starting conversion at 03-JUN-13 using target database control file instead of recovery catalog allocated channel: ORA_DISK_1 channel ORA_DISK_1: sid=20 devtype=DISK channel ORA_DISK_1: starting datafile conversion input datafile fno=00006 name=+DATAFILE/tbs_21.f converted datafile=/tmp/tbs_2_data_D-L2_I-2786301554_TS-TBS_2_FNO-6_11gm2fq9.df channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile conversion input datafile fno=00007 name=+DATAFILE/tbs_22.f converted datafile=/tmp/tbs_2_data_D-L2_I-2786301554_TS-TBS_2_FNO-7_12gm2fqa.df channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile conversion input datafile fno=00019 name=+DATAFILE/tbs_25.f converted datafile=/tmp/tbs_2_data_D-L2_I-2786301554_TS-TBS_2_FNO-19_13gm2fqb.df channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile conversion input datafile fno=00009 name=+DATAFILE/tbs_23.f converted datafile=/tmp/tbs_2_data_D-L2_I-2786301554_TS-TBS_2_FNO-9_14gm2fqc.df channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 channel ORA_DISK_1: starting datafile conversion input datafile fno=00010 name=+DATAFILE/tbs_24.f converted datafile=/tmp/tbs_2_data_D-L2_I-2786301554_TS-TBS_2_FNO-10_15gm2fqd.df channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:01 Finished conversion at 03-JUN-13
例2-68 異なるプラットフォームへのデータベースのトランスポート
CONVERT DATABASE
の引数は、データファイルの変換をソース・プラットフォームで実行するか、トランスポート先のプラットフォームで実行するかによって異なります。ソースおよびトランスポート先のプラットフォームでの変換処理の詳細および例は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。データベースの変換は、その説明を最後まで読んでから実行してください。
Linuxホスト上のデータベースprod
をWindowsホストにトランスポートするとします。データファイルは、トランスポート先のホストではなく、ソース・ホストで変換することにします。次の例では、RMANをLinuxホストのPROD
データベースに接続し、CONVERT DATABASE NEW DATABASE
を実行してデータファイルを変換し、変換スクリプトを生成します。
CONNECT TARGET "sbu@lin01 AS SYSBACKUP"
target database Password: password
connected to target database: PROD (DBID=39525561)
CONVERT DATABASE
NEW DATABASE 'prodwin'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript'
TO PLATFORM 'Microsoft Windows IA (32-bit)'
DB_FILE_NAME_CONVERT '/disk1/oracle/dbs','/tmp/convertdb';
次の例は部分的に変更し、Linuxホストで実行されているデータベースをWindowsホストにトランスポートしますが、データファイルの変換は、ソース・ホストでなく、宛先のホストで実行します。sbu
はSYSBACKUP
権限が付与されたユーザーです。次の例では、RMANをLinuxホストのprod
データベースに接続し、CONVERT DATABASE ON DESTINATION PLATFORM
を実行します。
CONNECT TARGET "sbu@lin01 AS SYSBACKUP"
target database Password: password
connected to target database: PROD (DBID=39525561)
CONVERT DATABASE
ON DESTINATION PLATFORM
CONVERT SCRIPT '/tmp/convertdb/convertscript.rman'
TRANSPORT SCRIPT '/tmp/convertdb/transportscript.sql'
NEW DATABASE 'prodwin'
FORMAT '/tmp/convertdb/%U';
Linuxデータベース上で実行されるCONVERT DATABASE ON DESTINATION PLATFORM
コマンドにより、データファイルをWindows形式に変換するためにWindowsホスト上で実行可能な変換スクリプトが生成されます。また、このCONVERT DATABASE
コマンドでは、変換スクリプトも生成されます。
例2-69 プラットフォームとストレージ・タイプが異なる場合のデータベースのトランスポート
この使用例では、sun01
というSolarisホスト上のデータベースprod
を、aix01
というAIXホストに移動することにします。Solarisデータファイルは非ASMファイル・システムに保存されていますが、このデータファイルをAIXホスト上のASMに保存するとします。
次の例では、sun01
に接続し、CONVERT DATABASE
を実行して必要なスクリプトを生成します。
CONNECT TARGET "sbu@sun01 AS SYSBACKUP"
target database Password: password
connected to target database: PROD (DBID=39525561)
CONVERT DATABASE
ON DESTINATION PLATFORM
CONVERT SCRIPT '/tmp/convert_newdb.rman'
TRANSPORT SCRIPT '/tmp/transport_newdb.sql'
NEW DATABASE 'prodaix'
DB_FILE_NAME_CONVERT '/u01/oradata/DBUA/datafile','+DATA';
変換スクリプトには次の書式の文が記述されます(your_source_platformはソース・プラットフォームを表します)。
CONVERT DATAFILE '/u01/oradata/DBUA/datafile/o1_mf_system_2lg3905p_.dbf'
FROM PLATFORM 'your_source_platform'
FORMAT '+DATA/o1_mf_system_2lg3905p_.dbf';
変換時の停止時間を短縮するには、ネットワーク経由でデータファイルをコピーしたりバックアップをリストアするのではなく、NFSを使用できます。たとえば、Solarisファイル・システムは、AIXホストに/net/solaris/oradata
としてマウントできます。この場合、変換するソース・データファイルの場所としてNFSマウントのディレクトリを参照するように、次のように変換スクリプト・コマンドを編集します。
CONVERT DATAFILE '/net/solaris/oradata/DBUA/datafile/o1_mf_system_2lg3905p_.dbf'
FROM PLATFORM 'your_source_platform'
FORMAT '+DATA/o1_mf_system_2lg3905p_.dbf';
それからRMANを宛先データベースのインスタンス(この場合ホストaix01
上のインスタンス)に接続して、データファイルを変換します。変換中、ホストsun01のデータベースは、読取り専用モードで開かれています。その後、SQL*Plusをaix01
のデータベース・インスタンスに接続し、変換スクリプトを実行してデータベースを作成します。