用途
CONVERTコマンドを使用すると、異なるプラットフォーム間でのトランスポートの準備として、表領域、データファイルまたはデータベースをトランスポート先プラットフォームの形式に変換できます。
Oracle Database 10g以上のリリースでは、次の場合にCONVERT DATAFILEまたはCONVERT TABLESPACEが必要です。
V$TRANSPORTABLE_PLATFORM.ENDIAN_FORMATの値が異なるプラットフォーム間でのデータファイルをトランスポートする場合。
ENDIAN_FORMATが同じどうかにかかわらず、プラットフォーム間でUNDOセグメントを持つ表領域(通常は、SYSTEM表領域とUNDO表領域、およびロールバック・セグメントを持つ表領域)をトランスポートする場合。通常、SYSTEM表領域とUNDO表領域が変換されるのは、データベース全体を変換するときのみです。
その他のプラットフォーム固有のデータファイルで、追加のデータファイル変換が必要な場合(hp Tru64オペレーティング・システムとの間の変換など)。
CONVERTを使用するのは、ASMに格納されているデータベースに表領域をトランスポートするような場合です。Linuxのcp、WindowsのCOPYなどのオペレーティング・システムのネイティブ・コマンドでは、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に設定され読み書き両用にされた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では、エンディアン変換が必要なユーザー・データ型は処理されません。プラットフォーム固有のフォーマットでデータを格納する、基礎となる型に基づいて作成されたデータベースの間でオブジェクトをトランスポートするには、データ・ポンプ・インポートおよびエクスポート・ユーティリティを使用してください。
Oracle Database 10gより前のリリースでは、UTF8などの可変幅キャラクタ・セットで作成されたCLOBは、エンディアンに依存する固定幅フォーマットで格納されていました。CONVERTコマンドでは、これらのCLOBに対する変換は実行されません。かわりに、RMANによって、各LOB列のエンディアン形式が取得され、ターゲット・データベースに伝播されます。その後、SQLレイヤーでこのデータを読み取ると、いずれかのエンディアン形式に正確に基づいたデータが解析され、表領域が書込み可能な場合はエンディアンに依存しない方法で書き込まれます。Oracle Database 10g以上のリリースで作成されたCLOBは、プラットフォームに依存しないキャラクタ・セットAL16UTF16で格納されます。
|
関連項目: 表領域のトランスポート方法については、『Oracle Database管理者ガイド』を参照してください。 |
構文
convert::=

(transportOptionList::=、convertOptionList::=)

skipSpec::=


(fileNameConversionSpec::=、formatSpec::=)
formatSpec::=

セマンティクス
この句は、変換するオブジェクト(データファイル、表領域またはデータベース)を指定します。
| 構文要素 | 説明 |
|---|---|
DATABASE |
必要な他のデータベース・ファイルを確実に作成できるように、データファイルをトランスポート先プラットフォームの形式に変換します。
状況に応じて、ソース・プラットフォームまたはトランスポート先プラットフォームのいずれかで
|
;transportOptionList |
トランスポートを制御するオプションを指定します。
関連項目: |
[convertOptionList]DATAFILE 'filename'convertOptionList |
トランスポート先データベースにトランスポートするデータファイルの名前を指定します(例2-54を参照)。
SELECT NAME FROM V$DATAFILE_COPY WHERE CONVERTED_FILE='YES';
|
TABLESPACEtablespace_nameconvertOptionList |
別のプラットフォーム上のトランスポート先データベースにトランスポートする予定の、ソース・データベース内の表領域の名前を指定します(例2-53を参照)。
このオプションを指定すると、指定した表領域のデータファイルが、別のトランスポート先プラットフォームのフォーマットで生成されます。変換したファイルは、トランスポート先プラットフォームにトランスポートできます。
変換するデータファイルのトランスポート先プラットフォームを指定するには
注意: ソース・ホスト上の表領域のデータファイルを変換するには、 |
convertOptionList |
変換を制御するオプションを指定します。
関連項目: |
この句は、トランスポートするデータファイル、表領域またはデータベースのオプションを指定します。
| 構文要素 | 説明 |
|---|---|
NEW DATABASEdatabase_name |
CONVERT DATABASEコマンドで生成された新しいデータベースにDB_NAMEを指定します。 |
ON DESTINATION PLATFORM |
トランスポート先のホストで実行してデータベースを作成できるCONVERT DATAFILEコマンド(CONVERT SCRIPTパラメータを参照)の変換スクリプトを生成します。
注意: このオプションが指定されている場合、 このオプションは、変換処理に伴うソース・プラットフォームでのオーバーヘッドを回避する場合や、トランスポート先プラットフォームがわからない場合に有効です。たとえば、トランスポータブル表領域を、複数の様々なターゲット・プラットフォームで使用できるようにパブリッシュすることが必要な場合もあります。
|
CONVERT SCRIPT script_name |
CONVERT DATABASE ... ON TARGET PLATFORMによって生成された変換スクリプトを含むファイルの場所を指定します。
指定しない場合、この変換スクリプトは生成されません。 |
skipSpec |
CONVERT DATABASEによる変換処理時に、アクセス不能なデータファイル、オフラインのデータファイルまたは読取り専用のデータファイルがスキップされるように指定します。 |
SKIP UNNECESSARY DATAFILES |
UNDOセグメントを持つデータファイルのみがコマンドで変換されるように指定します。トランスポート先プラットフォームで変換する場合、生成されたCONVERTスクリプトにはUNDOセグメントを持つデータファイルのみが含まれます。UNDOセグメントを持たないデータファイルは変換する必要がないため、ソース・データベースからトランスポート先データベースに直接コピーすることができます。コマンドがhp Tru64との間で変換を実行している場合、ASSMセグメント・ヘッダーを持つデータファイルも変換する必要があります。 |
TRANSPORT SCRIPTscript_name |
CONVERT DATABASEによって生成された変換スクリプトを含むファイルの場所を指定します。省略した場合、この変換スクリプトは生成されません。 |
この副次句は、変換処理から除外するファイルを指定します。
この副次句は、変換の入出力オプションを指定します。
FORMATまたはfileNameConversionSpec引数を使用して、CONVERTコマンドで生成される出力ファイルの名前を制御できます。いずれも指定しない場合、出力ファイルの場所を管理する規則は、BACKUP AS COPY操作で生成される出力ファイルを管理する規則と同じになります。この規則については、「backupTypeSpec」を参照してください。
| 構文要素 | 説明 |
|---|---|
fileNameConversionSpec |
文字列のペアです。ペアの最初の文字列がいずれかの入力ファイル名に含まれている場合は、含まれている場所に関係なく、常に、同じペアの2番目の文字列と置換されます。必要な数の置換文字列のペアを使用できます。一重引用符または二重引用符を使用できます。
関連項目: ASMおよびOracle Managed Filesに関連する制約事項については、「Oracle Managed Filesでの複製」を参照してください。 |
FORMAT formatSpec |
出力ファイルのネーム・テンプレートを指定します。ここで有効なフォーマット値については、BACKUP AS COPYコマンドを参照してください。
RMANが
例2-55で示すとおり、 |
FROM PLATFORM 'platform' |
ソース・プラットフォームの名前を指定します。指定しなかった場合のデフォルトは、RMANがTARGETとして接続されているデータベースのプラットフォームです。
指定するプラットフォームは、 SELECT PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX%'; |
PARALLELISM integer |
この操作で使用するチャネルの数を指定します。指定しない場合は、ディスクに対して割り当てられたチャネルまたは構成されたチャネルによってチャネルの数が決定されます。 |
TO PLATFORM 'platform' |
トランスポート先プラットフォームの名前を指定します。指定しなかった場合のデフォルトは、RMANがTARGETとして接続されているデータベースのプラットフォームです。
指定するプラットフォームは、 SELECT PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX%'; |
例2-53 ソース・プラットフォームでの表領域の変換
ソース・データベース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クライアントを起動して次のコマンドを実行します。
CONNECT TARGET SYS@prodlin
target database Password: password
connected to target database: PRODLIN (DBID=39525561)
SQL 'ALTER TABLESPACE finance READ ONLY';
SQL '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-54 トランスポート先プラットフォームでのデータファイルの変換
この例では、表領域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に接続します。次のCONVERTコマンドを使用して、トランスポートするデータファイルをトランスポート先ホストの形式に変換し、/disk2/orahome/dbsにその結果を保存します。
CONNECT TARGET SYS@prodlin
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-55 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-05 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-05
次の例では、表領域のデータファイルを一意に生成されたファイル名でASMストレージから/tmpディレクトリにコピーする方法を示します。
RMAN> CONVERT TABLESPACE tbs_2 FORMAT '/tmp/tbs_2_%U.df'; Starting conversion at 03-JUN-05 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-05
例2-56 異なるプラットフォームへのデータベースのトランスポート
CONVERT DATABASEの引数は、データファイルの変換をソース・プラットフォームで実行するか、トランスポート先のプラットフォームで実行するかによって異なります。ソースおよびトランスポート先のプラットフォームでの変換処理の詳細および例は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。データベースの変換は、その説明を最後まで読んでから実行してください。
Linuxホスト上のデータベースprodをWindowsホストにトランスポートするとします。データファイルは、トランスポート先のホストではなく、ソース・ホストで変換することにします。次の例では、RMANをLinuxホストのprodデータベースに接続し、CONVERT DATABASE NEW DATABASEを実行してデータファイルを変換し、変換スクリプトを生成します。
CONNECT TARGET SYS@lin01
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ホストにトランスポートしますが、データファイルの変換は、ソース・ホストでなく、トランスポート先のホストで実行します。次の例では、RMANをLinuxホストのprodデータベースに接続し、CONVERT DATABASE ON DESTINATION PLATFORMを実行します。
CONNECT TARGET SYS@lin01
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-57 プラットフォームとストレージ・タイプが異なる場合のデータベースのトランスポート
この使用例では、sun01というSolarisホスト上のデータベースprodを、aix01というAIXホストに移動することにします。Solarisデータファイルは非ASMファイル・システムに保存されていますが、このデータファイルをAIXホスト上のASMに保存するとします。
次の例では、sun01に接続し、CONVERT DATABASEを実行して必要なスクリプトを生成します。
CONNECT TARGET SYS@sun01
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のデータベース・インスタンスに接続し、変換スクリプトを実行してデータベースを作成します。