デフォルト: SKIP
(CONTENT=
DATA_ONLY
が指定されている場合、デフォルトはSKIP
ではなく、APPEND
です。)
用途
構文および説明
TABLE_EXISTS_ACTION=[SKIP | APPEND | TRUNCATE | REPLACE]
次の値を指定できます。
SKIP
: 表はそのままにして、次のオブジェクトに移動します。CONTENT
パラメータがDATA_ONLY
に設定されている場合、このオプションは無効です。
APPEND
: ソースから行をロードし、既存の行は変更しません。
TRUNCATE
: 既存の行を削除した後、ソースから行をロードします。
REPLACE
: 既存の表を削除した後、ソースから表を作成およびロードします。CONTENT
パラメータがDATA_ONLY
に設定されている場合、このオプションは無効です。
これらのオプションを使用する場合に考慮する事項は次のとおりです。
TRUNCATE
またはREPLACE
を使用する場合は、影響を受ける表の行が参照制約のターゲットではないことを確認してください。
SKIP
、APPEND
またはTRUNCATE
を使用する場合、索引、権限、トリガー、制約など、ソースの既存の表依存オブジェクトは変更されません。REPLACE
を使用すると、依存オブジェクトが明示的または暗黙的に除外(EXCLUDE
を使用して)され、それらがソースのダンプ・ファイルまたはシステムに存在する場合、依存オブジェクトは削除され、ソースから再作成されます。
APPEND
またはTRUNCATE
を使用する場合は、操作を実行する前に、ソースにある行が既存の表に適合するかどうかがチェックされます。
既存の表にアクティブな制約およびトリガーがある場合は、外部表によるアクセス方法を使用してロードされます。アクティブな制約に違反する行がある場合、ロードは失敗し、データはロードされません。この動作を変更するには、インポート・ユーティリティのコマンドラインでDATA_OPTIONS=SKIP_CONSTRAINT_ERRORS
を指定します。
制約違反の可能性があるデータをロードする必要がある場合は、制約を無効にし、データをロードした後、制約を再度有効にする前に問題のある行を削除する方法を検討してください。
APPEND
を使用すると、常に、データは新しい領域にロードされます。既存の領域は、使用可能な場合でも再利用されません。そのため、ロード後にデータを圧縮することもできます。
既存のターゲット表の有無によりパーティション表の並列処理がどのように影響を受けるかの詳細は、インポートのPARTITION_OPTIONSパラメータの説明も参照してください。
注意:
データ・ポンプは、ソース表とターゲット表の不一致(2つの表の列数が同じでないか、ソース表にない列名がターゲット表にある)を検出すると、2つの表間で列名を比較します。これらの表に共通の列が少なくとも1つあると、(データ型に互換性があるとみなされる)共通する列のデータが表にインポートされます。次の制限があります。
この動作はネットワーク・インポートではサポートされません。
次の型の列は削除できません。オブジェクト列、オブジェクト属性、ネストされた表の列、主キーに基づくREF列。
制限事項
TRUNCATE
は、クラスタ化された表では使用できません。
例
次に、TABLE_EXISTS_ACTION
パラメータの使用例を示します。この例では、ExportのFULL
パラメータで示した例を実行して、expfull.dmp
ダンプ・ファイルを作成できます。「FULL」を参照してください。
> impdp hr TABLES=employees DIRECTORY=dpump_dir1 DUMPFILE=expfull.dmp TABLE_EXISTS_ACTION=REPLACE