デフォルト: デフォルト値は設定されていません。
用途
構文および説明
REMAP_SCHEMA=source_schema:target_schema
複数のREMAP_SCHEMA
行を指定できますが、ソース・スキーマは行ごとに異なっている必要があります。ただし、異なるソース・スキーマを同じターゲット・スキーマにマップすることはできます。マッピングは完全ではない場合があります(詳細は、次の「制限事項」を参照してください)。
再マッピング先のスキーマが存在しない場合は、インポート操作によってそのスキーマが作成されます。ただし、ソース・スキーマに必要なCREATE
USER
メタデータがダンプ・ファイル・セットに含まれており、ユーザーが必要な権限を所有してインポートを実行していることが条件となります。たとえば、次のExportコマンドの場合、ユーザーSYSTEM
には必要な権限があるため、スキーマの作成に必要なメタデータを含むダンプ・ファイル・セットが作成されます。
> expdp system SCHEMAS=hr Password: password > expdp system FULL=YES Password: password
スキーマの作成に必要なメタデータがダンプ・ファイル・セットに含まれていない場合や、ユーザーに必要な権限がない場合は、インポート操作を実行する前にターゲット・スキーマを作成しておく必要があります。これは、権限が付与されていないダンプ・ファイルには、インポート操作でスキーマを自動作成するための情報が含まれないためです。
インポート操作によってスキーマが作成された場合は、インポートの完了後、そのスキーマに有効なパスワードを割り当てて、接続できるようにする必要があります。パスワードを割り当てるSQL文(権限が必要)は、次のとおりです。
SQL> ALTER USER schema_name IDENTIFIED BY new_password
制限事項
権限のないユーザーは、自分のスキーマが再マップのターゲット・スキーマの場合にのみ、スキーマの再マップを実行できます。(特権ユーザーがスキーマの再マップを実行する場合は、制限がありません。)たとえば、SCOTT
は、自分のBLAKE
のオブジェクトをSCOTT
に再マップできますが、SCOTT
は、SCOTT
のオブジェクトをBLAKE
に再マップすることはできません。
インポートで検出できない一部のスキーマ参照があるため、マッピングは完全ではない場合があります。たとえば、インポートでは、型定義、ビュー、プロシージャおよびパッケージの本体に埋め込まれたスキーマ参照は検出されません。
トリガーの場合、REMAP_SCHEMA
はトリガーの所有者のみに影響します。
再マップするスキーマ内の表にユーザー定義のオブジェクト型が含まれており、その表が、エクスポートされる時刻とインポートしようとする時刻の間に変更される場合、その表のインポートは失敗します。ただし、インポート操作自体は続行されます。
デフォルトでは、ソース・データベースのスキーマ・オブジェクトにオブジェクト識別子(OID)がある場合、それらと同じOIDを持つターゲット・データベースにインポートされます。オブジェクトがエクスポート元と同じデータベースであって異なるスキーマにインポートされた場合、新しい(インポートされた)オブジェクトのOIDは、既存のオブジェクトと同じものになり、インポートは失敗します。インポートを成功させるには、インポート時にTRANSFORM=OID:N
パラメータも指定する必要があります。変換OID:N
により新しいオブジェクトに対して新しいOIDが作成され、インポートが成功します。
例
ユーザーSYSTEM
として、次のエクスポートおよびインポート・コマンドを実行して、hr
スキーマをscott
スキーマに再マップするとします。
> expdp system SCHEMAS=hr DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp > impdp system DIRECTORY=dpump_dir1 DUMPFILE=hr.dmp REMAP_SCHEMA=hr:scott
この例では、インポート前にユーザーscott
が存在する場合、インポートのREMAP_SCHEMA
コマンドによって、hr
スキーマにあるオブジェクトが既存のscott
スキーマに追加されます。インポート後、scott
スキーマに既存のパスワードで(パスワードの再設定なしで)接続できます。
インポート操作の実行前にユーザーscott
が存在しない場合は、インポートによって、このユーザーがパスワードなしで自動作成されます。これは、ダンプ・ファイルhr
.dmp
が、スキーマの作成に必要なメタデータを含むダンプ・ファイルを作成する権限を所有するSYSTEM
によって作成されたためです。ただし、インポート完了後に、ターゲット・データベース上のscott
のパスワードを再設定しないかぎり、インポートの完了時にscott
には接続できません。