CDBに空のPDBを作成した後、Oracle Data Pumpの全体モード・エクスポートおよびインポート操作を使用して、データをPDBに移動できます。このジョブは、トランスポータブル・オプションを指定しても指定しなくても実行できます。トランスポータブル・オプションを全体モード・エクスポートまたはインポートで使用する場合、全体トランスポータブル・エクスポート/インポートと呼ばれます。
トランスポータブル・オプションが使用される場合、エクスポートおよびインポートでは、トランスポータブル表領域のデータ移動と従来のデータ移動の両方を使用しますが、後者はSYSTEM
やSYSAUX
などの非トランスポータブル表領域に存在する表が対象です。トランスポータブル・オプションを使用すると、表データをアンロードおよび再ロードする必要と、ユーザー表領域の索引構造を再作成する必要がなくなるため、エクスポート時間と(特に)インポート時間を短縮できます。
エクスポート/インポート操作に対して特定のPDBを指定する場合、データ・ポンプ・コマンドラインで、データ・ポンプの開始時に接続文字列に接続識別子を指定します。たとえば、pdb1
というPDBにデータをインポートするには、データ・ポンプ・コマンドラインで次のように入力します。
impdp hr@pdb1 DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp TABLES=employees
データ・ポンプを使用してCDBにデータを移動する場合、次の要件に注意してください。
マルチテナント環境を管理するには、CDB_DBA
ロールを持っている必要があります。
Oracle Database 11.2.0.2以前からの全体データベース・エクスポートは、Oracle Database 12c (CDBまたは非CDB)にインポートされる場合があります。ただし、登録したオプションおよびコンポーネントの情報がエクスポートに含まれるように、まずソース・データベースをOracle Databasegリリース2 (11.2.0.3以上)にアップグレードすることをお薦めします。
全体データベース・エクスポートまたは全体トランスポータブル・データベース・エクスポートのいずれかを使用して、Oracle Database 11gリリース2 (11.2.0.3以上)をCDB(または非CDB)に移行する場合、Oracle Database 12cにインポートできるダンプ・ファイルを生成するためにデータ・ポンプ・エクスポート・パラメータVERSION=12
を設定する必要があります。VERSION=12
を設定しない場合、生成したエクスポート・ファイルには、登録したデータベース・オプションおよびコンポーネントの完全な情報は含まれません。
ネットワーク・ベースの全体トランスポータブル・インポートでは、FULL=YES
、TRANSPORTABLE=ALWAYS
およびTRANSPORT_DATAFILES=
datafile_name
パラメータを使用する必要があります。ソース・データベースがOracle Database 11gリリース11.2.0.3以上で、Oracle Database 12cリリース1 (12.1)より前の場合、VERSION=12
パラメータも必要です。
ファイル・ベースの全体トランスポータブル・インポートでは、TRANSPORT_DATAFILES=
datafile_name
パラメータのみを使用する必要があります。データ・ポンプ・インポートでは、TRANSPORTABLE=ALWAYS
およびFULL=YES
パラメータが使用されるはずです。
デフォルトのデータ・ポンプ・ディレクトリ・オブジェクトのDATA_PUMP_DIR
は、PDBでは使用できません。エクスポートまたはインポートするPDB内に明示的なディレクトリ・オブジェクトを定義する必要があります。