デフォルト: デフォルト値は設定されていません。
用途
REMAP_DATA
パラメータを使用すると、新規データベースへの挿入時に、データを再マップできます。一般的には、プライマリ・キーを再生成して、ターゲット・データベース上の既存の表に表をインポートする場合の競合を回避するために使用されます。
ダンプ・ファイルまたはリモート・データベースのいずれかから、指定した列の値をソースとして取得するには、再マップ・ファンクションを指定します。再マップ・ファンクションを指定すると、ターゲット・データベースの元の値を置き換える再マップした値が返されます。
同じファンクションを、ダンプされる複数の列に適用できます。これは、参照制約で子と親両方の列を再マップするときに整合性を保つ必要がある場合に役立ちます。
構文および説明
REMAP_DATA=[schema.]tablename.column_name:[schema.]pkg.function
次に、各構文要素の説明を構文で出現する順に示します。
schema: 再マップされる表を含むスキーマ。デフォルトでは、これはインポートを実行するユーザーのスキーマです。
tablename: 列の再マップが行われる表。
column_name: データの再マップが行われる列。
schema: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージを含むスキーマ。デフォルトでは、これはインポートを実行するユーザーのスキーマです。
pkg: 再マップ・ファンクションを含むユーザー作成のPL/SQLパッケージの名前。
function: 指定した表の各行で、列表を再マップする場合にコールされるPL/SQL内のファンクションの名前。
制限事項
ソース引数および戻り値のデータ型はともに、表内の指定した列のデータ型と一致している必要があります。
再マップ・ファンクションでは、自律型トランザクション以外のコミットまたはロール・バックを実行できません。
REMAP_DATA
パラメータの値としてのシノニムの使用はサポートされていません。たとえば、hr
スキーマ内のregions
表にregn
のシノニムがある場合は、regn
をREMPA_DATA
仕様の一部として指定した場合にエラーが返されます。
リモート表のLOB列データの再マップはサポートされていません。
型がユーザー定義型、ユーザー定義型の属性、LONG、REF、VARRAY、ネストした表、BFILEおよびXMLtypeの列は、REMAP_DATA
でサポートされません。
例
次の例では、plusx
という名前のファンクションを格納するremap
という名前のパッケージが作成されており、このファンクションはemployees
表内のfirst_name
の値を変更すると想定しています。
> impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp TABLES=hr.employees REMAP_DATA=hr.employees.first_name:hr.remap.plusx