タスク4: 表領域セットのトランスポート
表領域のデータファイルをターゲット・データベースへアクセス可能なディレクトリにトランスポートします。
この例では、次のファイルをソース・データベースからターゲット・データベースに転送します。
-
sales_101.dbf
-
sales_201.dbf
ソース・プラットフォームとは異なるプラットフォームに表領域セットをトランスポートする場合は、ソースおよびターゲット・プラットフォームの両方でプラットフォーム間の表領域トランスポートがサポートされているかどうかを確認し、それぞれのプラットフォームのendiannessを判別します。両方のプラットフォームのendiannessが同じ場合、変換は必要ありません。同じでない場合は、ソース・データベースまたはターゲット・データベースでデータ変換を実行する必要があります。
sales_1
およびsales_2
を異なるプラットフォームにトランスポートする場合は、各プラットフォームで次の問合せを実行できます。問合せで行が返される場合、そのプラットフォームではプラットフォーム間の表領域トランスポートがサポートされています。
SELECT d.PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
ソース・プラットフォームでの問合せの結果は次のとおりです。
PLATFORM_NAME ENDIAN_FORMAT ---------------------------------- -------------- Solaris[tm] OE (32-bit) Big
ターゲット・プラットフォームからの結果は、次のとおりです。
PLATFORM_NAME ENDIAN_FORMAT ---------------------------------- -------------- Microsoft Windows IA (32-bit) Little
この例では、endian形式が異なることがわかります。したがって、この場合、データベースをトランスポートするには変換が必要です。DBMS_FILE_TRANSFER
パッケージのGET_FILE
またはPUT_FILE
プロシージャを使用して、データファイルを転送します。これらのプロシージャを使用すると、データファイルがターゲット・プラットフォームのendian形式に自動的に変換されます。データファイルを、ターゲット・データベースの既存データファイルの場所にトランスポートします。UNIXおよびLinuxプラットフォームでは、この場所は通常、/u01/app/oracle/oradata/dbname/または+DISKGROUP/dbname/datafile/です。または、データファイルを変換するために使用することもできます。
注意:
-
RMAN
CONVERT
コマンドを使用する場合、UNDOセグメントを含むデータファイルでは、異なるendian形式間でのデータファイルの変換はサポートされていません。 -
表領域のendiannessを変換する必要がない場合は、任意のファイル転送方法を使用してファイルを転送できます。
親トピック: Oracle Databaseの移行