■ 読取り専用表領域は、異機種間のクラスタで共有できます。
制限事項と使用上の注意 制限事項と使用上の注意 制限事項と使用上の注意 制限事項と使用上の注意
■ ソース・データベースおよびトランスポート先データベースの両方とも、初期化パラ メータCOMPATIBLEが10.0以上に設定されて実行されている必要があります。
■ 表領域は、別のプラットフォームにトランスポートする前に、Oracle 10gで1回以上読 み書き両用に設定されている必要があります。したがって、以前のリリースから存在す る読取り専用表領域(または既存のトランスポートされた表領域)は、読み書き両用に 設定された後に、別のプラットフォームにトランスポートできます。
■ Recovery Managerでは、エンディアン変換が必要なユーザー・データ型は処理されま
せん。基礎となるタイプに基づいて作成されたオブジェクト(プラットフォーム固有の フォーマットでデータを格納)をトランスポートする必要がある場合は、Data Pump
ImportおよびExportユーティリティを使用します。
■ V$TRANSPORTABLE_PLATFORMを問い合せて、CONVERTコマンドでサポートされてい るプラットフォームを判断します。プラットフォーム間の表領域トランスポートは、
ソースとトランスポート先プラットフォームの両方がこのビューに含まれている場合に のみサポートされます。
Oracle 10gでは、V$TRANSPORTABLE_PLATFORM.ENDIAN_FORMATの値が異なるプ
ラットフォーム間でトランスポートする場合、CONVERTコマンドを使用する必要があ ります。ENDIAN_FORMAT列が同一のプラットフォーム間でトランスポートする場合 は、CONVERTコマンドを使用してファイルを移動するか、またはオペレーティング・
システム・ユーティリティを使用してソースからコピー先にファイルをコピーできま す。トランスポート先ホストでASMの記憶域が使用されている場合は、CONVERTを使 用してASMにデータを移動します。オペレーティング・システム・ユーティリティを 使用してASMにデータは移動できません。
■ CONVERTコマンドは、ソース・ホストまたはトランスポート先ホストのいずれかで実行 できます。ソース・ホストで変換する場合は、CONVERT... TOを使用してトランス ポート先プラットフォームを指定します(ソース・プラットフォームは、暗黙的にソー ス・ホストのプラットフォームです)。トランスポート先ホストで変換する場合は、
CONVERT... FROMを使用してソース・プラットフォームを指定します(トランスポー ト先プラットフォームは、暗黙的にトランスポート先ホストのプラットフォームです)。
■ CONVERTでは、データ・ファイルのインプレース変換は行われません。指定したプラッ トフォームで読取り可能な出力ファイルが作成されます。
注意注意注意
注意: CONVERTコマンドは、プラットフォーム間で表領域をトランス ポートする場合に行う複数の手順のうちの1手順です。この手順の詳細
は、『Oracle Database管理者ガイド』を参照してください。プラット
フォーム間で表領域をトランスポートする前に、このマニュアルを参照す る必要があります。
■ Oracle 10gより前のリリースでは、CLOBは、可変幅キャラクタ・セットで作成され、
エンディアンに依存するフォーマットで格納されました。CONVERTコマンドでは、こ れらのCLOBに対する変換は実行されません。かわりに、Recovery Managerによって、
各LOB列のエンディアン・フォーマットが取得され、ターゲット・データベースに伝 播されます。その後、SQLレイヤーでこのデータを読み取ると、いずれかのエンディア ン・フォーマットに正確に基づいたデータが解析され、表領域が書込み可能な場合はエ ンディアンに依存しない方法で書き込まれます。
Oracle Database 10gで作成されたCLOBは、プラットフォームに依存しないキャラク
タ・セットAL16UTF16で格納されます。
キーワードとパラメータ キーワードとパラメータ キーワードとパラメータ キーワードとパラメータ
構文の要素 構文の要素構文の要素
構文の要素 説明説明説明説明
DATAFILEdatafile_name トランスポート先データベースにトランスポートするデータ・ファイルの名前を 指定します。
トランスポート先では、CONVERT TABLESPACEのかわりにCONVERT DATAFILEを使用して、変換対象の各データ・ファイルに名前を付ける必要が あります。それらのファイルがインポート先データベースにインポートされてい ない場合、Recovery Managerで変換対象の表領域に属するファイルを特定でき ないためです。
convertOptionList CONVERTコマンドのオプションです。
fileNameConversionSpec 文字列のペアです。ペアの最初の文字列がいずれかの入力ファイル名に含まれて いる場合は、含まれている場所に関係なく、常に、同じペアの2番目の文字列と 置換されます。必要な数の置換文字列のペアを使用できます。一重引用符または 二重引用符を使用できます。
FORMATformatSpec 出力ファイルのネーム・テンプレートを指定します。ここで有効なフォーマット
値については、BACKUP AS COPYコマンドを参照してください。
FROM PLATFORM= platform_name
ソース・プラットフォームの名前を指定します。これは、
V$TRANSPORTABLE_PLATFORMビューのPLATFORM_NAME列にリストされたプ ラットフォームの1つである必要があります。
PARALLELISM [=]
integer
操作の実行中に使用する並列度を指定します。
TO PLATFORM = platform_
name
トランスポート先プラットフォームの名前を、
V$TRANSPORTABLE_PLATFORM.PLATFORM_NAME出力に表示されているとお りに指定します。
例 例 例 例
表領域をトランスポートする手順の詳細は、『Oracle Database管理者ガイド』を参照してく
ださい。Recovery ManagerのCONVERTコマンドは、異なるバイト順序のプラットフォーム
間でトランスポートする場合にのみ必要です。プラットフォームが同じバイト順序の場合 は、CONVERTを使用するか、またはファイルを直接コピーできます。
手順の概要は次のとおりです。
1. トランスポートする表領域を特定します。トランスポートする表領域内のオブジェクト と他の表領域のオブジェクトの関係によっては、トランスポートを慎重に計画する必要 があります。
2. 移動する表領域を読取り専用に設定します。
3. オリジナルのエクスポート・ユーティリティを使用して、トランスポートする表領域に 関するデータ・ディクショナリからの構造情報を含むファイルを生成します。このファ イルは、トランスポート先データベースに表領域を接続する際に使用します。
4. データ・ファイルをトランスポート用に変換する必要があり、その変換のためにソー ス・システムのリソースを使用する場合は、この時点でRecovery ManagerのCONVERT コマンドをソース・プラットフォームで使用して、表領域をターゲット・プラット フォーム用に変換します。この概要の後に示す最初の例を参照してください。(変換の ためにトランスポート先システムのリソースを使用する場合、この手順では何も実行し ません。)
5. データ・ファイル(必要な場合は変換されたもの)および構造情報ファイルをターゲッ ト・データベースにコピーします。これらは、最適な方法(オペレーティング・システ ム・コピー、ftp、CDやテープなどのリムーバブル・メディアへの配布など)で移動で きます。
6. ソース・プラットフォームでエンディアン変換を実行せずに、その変換を実行する必要 があるプラットフォーム間でトランスポートを行う場合は、トランスポート先プラット フォームでその変換を実行します。この概要の後に示す2番目の例を参照してくださ い。
7. オリジナルのインポート・ユーティリティを起動して表領域セットをターゲット・デー タベースに接続します。
TABLESPACE tablespace_name 別のプラットフォーム上のトランスポート先データベースにトランスポートす る、ソース・データベース内の表領域の名前を指定します。CONVERT TABLESPACEは、トランスポート先データベースではなく、ソース・データ ベースに接続している場合にのみ使用できます。(表領域トランスポートが完了 するまで、トランスポート先データベースでは、CONVERT TABLESPACEで使 用する表領域名を認識する方法がありません。)
構文の要素 構文の要素構文の要素
構文の要素 説明説明説明説明
この手順の詳細は、『Oracle Database管理者ガイド』を参照してください。表領域トランス ポートの手順を実行する前に、この手順の説明を最初から最後まで読んでください。このマ ニュアルでは、ソース・プラットフォームおよびトランスポート先プラットフォームで使用
するCONVERTコマンドの詳細を説明します。
ソース・プラットフォームでの表領域の変換 ソース・プラットフォームでの表領域の変換ソース・プラットフォームでの表領域の変換
ソース・プラットフォームでの表領域の変換: 例例例例 この使用例では、次の表領域をSun
Solarisホストで実行されているソース・データベースからLinux PCで実行されているトラ
ンスポート先データベースにトランスポートする必要があります。
■ finance(データ・ファイル'/orahome/fin/fin01.dbf'および
'/orahome/fin/fin02.dbf')
■ hr(データ・ファイル'/orahome/fin/hr01.dbf'および
'/orahome/fin/hr02.dbf')
変換したデータ・ファイルを、ソース・ホストの一時ディレクトリ /tmp/transport_linux/に格納します。
この例は、表領域トランスポートの準備に次の手順を実行していることを前提としていま す。
■ トランスポートする表領域を読取り専用に設定していること。
■ V$TRANSPORTABLE_PLATFORM内でトランスポート先プラットフォームの名前を検出 していること。
データベースには、そのデータベースが実行されている各プラットフォーム用のデータ ベース固有の内部名のリストが含まれています。ソース・プラットフォームまたはター ゲット・プラットフォームの正確な名前をCONVERTコマンドのパラメータとして指定 する必要がある場合があります。次のとおりSQL*Plusから
V$TRANSPORTABLE_PLATFORMを問い合せて、プラットフォーム名を検索します。
SQL> SELECT PLATFORM_ID, PLATFORM_NAME, ENDIAN_FORMAT FROM V$TRANSPORTABLE_PLATFORM
WHERE UPPER(PLATFORM_NAME) LIKE 'LINUX';
PC上のLinuxのPLATFORM_NAMEは、'Linux IA (32-bit)'です。
Recovery Managerを使用して、トランスポートするデータ・ファイルをソース・ホスト上
のトランスポート先のフォーマットに変換します。FORMAT引数で、変換されたデータ・
ファイルの名前および場所を制御します。
% rman TARGET /
RMAN> CONVERT TABLESPACE finance,hr TO PLATFORM 'Linux IA (32-bit)' FORMAT='/tmp/transport_linux/%U';