用途
TRANSPORT TABLESPACE
コマンドを使用すると、ソース・データベースのライブ・データファイルではなく、RMANのバックアップからトランスポータブル表領域セットを作成できます。
関連項目: RMANでの表領域のトランスポート方法は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
前提条件
『Oracle Database管理者ガイド』で説明されているトランスポータブル表領域セットの作成に関する制限事項は、表領域を読取り専用にする要件を除いて、バックアップから表領域をトランスポートする場合に適用されます。
SYSAUX
表領域は、リカバリ・セット(トランスポートする表領域のセット)に含めないようにします。RMANは、SYSAUX
表領域を補助セット(データファイルと、表領域のトランスポートに必要な他のファイルを含む)に組み込みます。
TRANSPORT TABLESPACE
では、エンディアン形式は変換しません。ターゲット・プラットフォームに別のエンディアン形式が含まれている場合は、TRANSPORT TABLESPACE
の実行後に、CONVERT
コマンドを使用して、トランスポータブル・セットのデータファイルのエンディアン形式を変換します。
表領域を削除すると、TRANSPORT TABLESPACE
のSCNが表を削除したときのSCNより古い場合でも、後でTRANSPORT TABLESPACE
を使用してこの表領域をトランスポータブル表領域セットに含めることはできません。表領域名を変更すると、TRANSPORT TABLESPACE
を使用して、表領域名を変更した時点よりも前の時点でのトランスポータブル表領域セットは作成できません。
バックアップおよびバックアップ・メタデータ
必要なすべての表領域(補助セットの表領域を含む)のバックアップ、およびターゲット時刻までリカバリするために必要なアーカイブREDOログ・ファイルが必要です。
リカバリ・カタログを使用せずに、必要なバックアップに関するメタデータを含む制御ファイル・レコードがデータベースで再使用された場合、バックアップをRMANで検索できないため、そのコマンドは失敗します。必要なバックアップが使用可能な場合は、CATALOG
を使用してそれらをRMANリポジトリに追加できる場合がありますが、制御ファイル・レコードがデータベースで上書きされている場合は、他の必要なバックアップのレコードが失われる場合があります。
データ・ポンプ・エクスポート/インポート
RMANではデータ・ポンプ・エクスポート/インポート・ユーティリティが使用されるため、トランスポートする表領域でXMLTypeが使用されている場合、
TRANSPORT TABLESPACE
は使用できません。この場合は、『Oracle Database管理者ガイド』の手順を使用する必要があります。
エクスポート・ダンプ・ファイルの名前の付いたファイルが表領域のトランスポート先に存在すると、TRANSPORT TABLESPACE
はデータ・ポンプ・エクスポートの呼出し時に失敗します。以前のTRANSPORT TABLESPACE
ジョブを繰り返す場合は、エクスポート・ダンプ・ファイルを含む以前の出力ファイルを削除してください。
表領域と列の暗号化
列レベルで機能する透過的データ暗号化と表領域暗号化のデータベース暗号化機能のいずれにも、ウォレットが使用されています。暗号化される表領域または暗号化された列を含む表領域には、次の制限が適用されることに注意してください。
トランスポートする表領域が暗号化されている場合は、トランスポート先データベースにウォレットを手動でコピーする必要があります。
複製先データベースにウォレットがすでに存在する場合は、ソース・データベースのウォレットを複製先データベースにコピーすることはできません。したがって、ウォレットが存在するデータベースには、暗号化データをトランスポートできません。データの透過的暗号化機能で列を暗号化する場合は、パスワードで保護されたエクスポート・ファイルに列をエクスポートし、そのデータを複製先データベースにインポートできます。
関連項目: 透過的データ暗号化については、『Oracle Database Advanced Security管理者ガイド』を参照してください。 |
使用上の注意
RMANでは同じノードでのリストアおよびリカバリに使用される自動補助インスタンスがソース・インスタンスとして作成されるため、TRANSPORT TABLESPACE
コマンドの操作中にパフォーマンス・オーバーヘッドが発生します。
RMANがデータベースのバックアップ計画の一部分でない場合は、必要なデータファイル・コピーおよびアーカイブREDOログ・ファイルがディスクで使用可能なかぎり、TRANSPORT TABLESPACE
を使用できます。CATALOG
コマンドを使用してデータファイル・コピーおよびアーカイブREDOログ・ファイルをRMANリポジトリに記録します。その後、TRANSPORT TABLESPACE
を使用できます。また、TRANSPORT TABLESPACE
を使用できるように、RMANを使用してデータベースをバックアップするオプションもあります。
セマンティクス
構文要素 | 説明 |
---|---|
tablespace_name |
トランスポートする各表領域の名前を指定します。
必要なすべての表領域(補助セットの表領域を含む)のバックアップ、および |
この副次句では、表領域のトランスポートに影響を与えるオプションのパラメータを指定します。
構文要素 | 説明 |
---|---|
AUXILIARY DESTINATION ' location ' |
補助インスタンス用のファイルの格納場所を指定します。
関連項目: 補助インスタンス・ファイルの様々なネーミング手法での相互作用の詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 |
DATAPUMP DIRECTORY datapump_directory |
データ・ポンプ・エクスポートの出力が作成されるデータベース・ディレクトリ・オブジェクトを指定します(例3-60を参照)。指定しない場合、RMANはTABLESPACE DESTINATION で指定された場所にファイルを作成します。
関連項目: データ・ポンプ・エクスポートおよびデータベース・ディレクトリ・オブジェクトの詳細は、『Oracle Databaseユーティリティ』を参照してください。 |
DUMP FILE ' filename ' |
データ・ポンプ・エクスポートのダンプ・ファイルを作成する場所を指定します。指定しない場合、エクスポート・ダンプ・ファイルは、dmpfile.dmp という名前で、DATAPUMP DIRECTORY 句で指定された場所または表領域のトランスポート先に格納されます。
注意: エクスポート・ダンプ・ファイルの名前の付いたファイルが表領域のトランスポート先に存在すると、 |
EXPORT LOG ' filename ' |
データ・ポンプ・エクスポートで生成されたログの場所を指定します。省略した場合、エクスポート・ログは、explog.log という名前で、DATAPUMP DIRECTORY 句で指定された場所または表領域のトランスポート先に格納されます。 |
IMPORT SCRIPT ' filename ' |
トランスポート先データベースのトランスポートされた表領域に接続する際に使用する、RMANで生成されるサンプル入力スクリプトのファイル名を指定します。省略した場合、インポート・スクリプトはimpscript.sql という名前になります。このスクリプトは、表領域のトランスポート先に格納されます。 |
TABLESPACE DESTINATION tablespace_destination |
表領域のトランスポート操作が完了した後の、トランスポートされた表領域のデータファイルの場所を指定します。 |
TO RESTORE POINT restore_point_name |
リストア・ポイントを作成した時点のSCNを上限として、表領域のリストアおよびリカバリのリストア・ポイントを指定します。指定した値は含まれます。上限値が含まれるため、RMANは、リストア・ポイントに対応するSCNまで表領域をリストアまたはリカバリできるファイルのみを選択します。 |
untilClause |
過去の時刻、SCNまたはログ順序番号を指定します(例3-59を参照)。指定した場合、RMANは、エクスポート前に補助インスタンスで表領域をその過去の時点における表領域の内容にリストアおよびリカバリします。
表領域名を変更すると、このコマンドを使用して、表領域名を変更した時点よりも前の時点でのトランスポータブル表領域セットを作成することはできません。RMANには、前の表領域名に関する情報がありません。
|
例3-59 過去の時刻を指定したTRANSPORT TABLESPACEの使用
この例では、トランスポータブル・セットの表領域はexample
およびtools
で、トランスポータブル・セットのファイルは/disk1/transport_dest
に格納されます。また、トランスポータブル表領域は、15分前の時刻までリカバリされます。
TRANSPORT TABLESPACE example, tools TABLESPACE DESTINATION '/disk1/transportdest' AUXILIARY DESTINATION '/disk1/auxdest' UNTIL TIME 'SYSDATE-15/1440';
次に出力例の一部を示します。
Creating automatic instance, with SID='egnr' initialization parameters used for automatic instance: db_name=PROD compatible=11.0.0 db_block_size=8192 . . . starting up automatic instance PROD . . . executing Memory Script executing command: SET until clause Starting restore at 07-JUN-07 allocated channel: ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: SID=44 device type=DISK channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: restoring control file . . . output file name=/disk1/auxdest/cntrl_tspitr_PROD_egnr.f Finished restore at 07-JUN-07 sql statement: alter database mount clone database sql statement: alter system archive log current sql statement: begin dbms_backup_restore.AutoBackupFlag(FALSE); end; starting full resync of recovery catalog full resync complete . . . executing Memory Script . . . Starting restore at 07-JUN-07 using channel ORA_AUX_DISK_1 channel ORA_AUX_DISK_1: starting datafile backup set restore channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set channel ORA_AUX_DISK_1: restoring datafile 00001 to /disk1/auxdest/TSPITR_PROD_EGNR/datafile/o1_mf_system_%u_.dbf datafile 1 switched to datafile copy . . . starting media recovery . . . Finished recover at 07-JUN-07 database opened . . . executing Memory Script . . . sql statement: alter tablespace EXAMPLE read only Removing automatic instance shutting down automatic instance Oracle instance shut down Automatic instance removed auxiliary instance file /disk1/auxdest/cntrl_tspitr_PROD_egnr.f deleted . . .
例3-60 カスタマイズされたファイルの場所を指定したTRANSPORT TABLESPACEの使用
この例では、データ・ポンプ関連ファイル(ダンプ・ファイルなど)の場所を制御するオプションの引数の使用方法を示します。DATAPUMP DIRECTORY
は、ターゲット・データベースに存在するオブジェクトを参照する必要があります。SQL文のCREATE DIRECTORY
を使用すると、ディレクトリ・オブジェクトを作成できます。
TRANSPORT TABLESPACE example TABLESPACE DESTINATION '/disk1/transportdest' AUXILIARY DESTINATION '/disk1/auxdest' DATAPUMP DIRECTORY mypumpdir DUMP FILE 'mydumpfile.dmp' IMPORT SCRIPT 'myimportscript.sql' EXPORT LOG 'myexportlog.log';