- 異なるエンディアン・オペレーティング・システムで同じリリースのための新しいハードウェアへの非CDBの移行
- Oracle Databaseの移行
- タスク6: 表領域セットのインポート
タスク6: 表領域セットのインポート
トランスポータブル表領域に対する操作を完了するために、表領域セットをインポートします。
表領域セットのインポート手順は、次のとおりです。
DATAPUMP_IMP_FULL_DATABASE
ロールを持つユーザーとしてデータ・ポンプ・インポート・ユーティリティを実行し、表領域メタデータをインポートします。impdp user_name dumpfile=expdat.dmp directory=data_pump_dir transport_datafiles= 'c:\app\orauser\oradata\orawin\sales_101.dbf', 'c:\app\orauser\oradata\orawin\sales_201.dbf' remap_schema=sales1:crm1 remap_schema=sales2:crm2 logfile=tts_import.log Password: password
この例では、次のデータ・ポンプ・パラメータを指定します。
-
DUMPFILE
パラメータでは、インポートされる表領域のメタデータが含まれるエクスポート・ファイルを指定します。 -
DIRECTORY
パラメータでは、エクスポート・ダンプ・ファイルの場所を識別するディレクトリ・オブジェクトを指定します。DIRECTORY
オブジェクトはデータ・ポンプを実行する前に作成し、ディレクトリに対するREAD
およびWRITE
オブジェクト権限をインポート・ユーティリティを実行するユーザーに付与する必要があります。CREATE
DIRECTORY
コマンドの詳細は、『Oracle Database SQL言語リファレンス』を参照してください。非CDBで、ディレクトリ・オブジェクト
DATA_PUMP_DIR
がデータベースにより自動的に作成されます。このディレクトリへの読取りおよび書込みアクセス権がDBA
ロールに(したがって、ユーザーSYS
およびSYSTEM
に)自動的に付与されます。ただし、ディレクトリ・オブジェクト
DATA_PUMP_DIR
は、PDBではデータベースにより自動的には作成されません。このため、PDBにインポートする場合は、PDBにディレクトリ・オブジェクトを作成し、データ・ポンプを実行するときにそのディレクトリ・オブジェクトを指定します。関連項目:
-
DIRECTORY
パラメータを省略する場合のデフォルト・ディレクトリの詳細は、『Oracle Databaseユーティリティ』を参照してください。 -
PDBの詳細は、『Oracle Multitenant管理者ガイド』を参照してください
-
-
TRANSPORT_DATAFILES
パラメータによって、インポートする表領域が含まれるすべてのデータファイルを識別します。多くのデータファイルがある場合は、
PARFILE
パラメータで指定されたパラメータ・ファイルでTRANSPORT_DATAFILES
パラメータを複数回指定できます。 -
REMAP_SCHEMA
パラメータによって、データベース・オブジェクトの所有権を変更します。REMAP_SCHEMA
を指定しない場合、すべてのデータベース・オブジェクト(表や索引など)はソース・データベースと同じユーザー・スキーマ内で作成され、そのユーザーはターゲット・データベース内にすでに存在している必要があります。ユーザーが存在しない場合は、インポート・ユーティリティによってエラーが返されます。この例では、ソース・データベース内でsales1
が所有している表領域セット内のオブジェクトは、表領域セットをインポートした後のターゲット・データベース内ではcrm1
の所有となります。同様に、ソース・データベース内でsales2
が所有しているオブジェクトは、ターゲット・データベース内ではcrm2
の所有となります。この例では、ターゲット・データベース内にユーザーsales1
およびsales2
は存在する必要はありませんが、ユーザーcrm1
およびcrm2
が存在する必要があります。Oracle Database 12cリリース2 (12.2)以降では、Recovery Manager (RMAN)の
RECOVER
コマンドで、表を再マッピングしながら表を異なるスキーマに移動できます。詳細は、『Oracle Databaseバックアップおよびリカバリ・ユーザーズ・ガイド』を参照してください。 -
LOGFILE
パラメータでは、インポート・ユーティリティによって書き込まれるログ・ファイルのファイル名を指定します。この例では、ログ・ファイルの書込み先はダンプ・ファイルの読取り元と同じディレクトリですが、ログ・ファイルは別の場所に書き込むことができます。
この文が正常に実行されると、コピーするセット内のすべての表領域は読取り専用モードのままになります。インポート・ログ・ファイルを確認して、エラーが発生しなかったことを確認します。
多数のデータファイルを処理する場合は、データファイル・リストが文の行の制限を超えることがあるため、データファイル名のリストを文の行で指定することは煩雑です。このような場合には、インポート・パラメータ・ファイルを使用できます。たとえば、次のようにしてデータ・ポンプ・インポート・ユーティリティを実行できます。
impdp user_name parfile='par.f'
par.f
パラメータ・ファイルには、次の情報が含まれています。DUMPFILE=expdat.dmp DIRECTORY=data_pump_dir TRANSPORT_DATAFILES= 'C:\app\orauser\oradata\orawin\sales_101.dbf', 'C:\app\orauser\oradata\orawin\sales_201.dbf' REMAP_SCHEMA=sales1:crm1 REMAP_SCHEMA=sales2:crm2 LOGFILE=tts_import.log
関連項目:
インポート・ユーティリティの使用方法は、『Oracle Databaseユーティリティ』を参照してください。
-
- 必要に応じて、ターゲット・データベースで表領域を読取り/書込みモードにします。
親トピック: Oracle Databaseの移行