分类: Oracle

oracle使用impdp导入dmp数据文件时若表存在时的解决方法

当使用IMPDP完成数据库导入时,如遇到表已经存在时,Oracle提供给我们如下四种处理方式:
1.忽略(SKIP,默认行为);
2.在原有数据基础上继续增加(APPEND);
3.先DROP表,然后创建表,最后完成数据插入(REPLACE);
4.先TRUNCATE,再完成数据插入(TRUNCATE)。

导入数据:

impdp \'username/password\' dumpfile=xxx.dmp schemas=dnname LOGFILE=xxxx.log TABLE_EXISTS_ACTION=REPLACE

不带参数TABLE_EXISTS_ACTION参数的话默认是SKIP,查看log会发现已存在的表会全部跳过;

用到的IMPDP语句统一汇总在这里:

impdp system/sys directory=expdp_dir dumpfile=20100401102917_sec.dmp logfile=20100401102917_sec_impdp.log TABLE_EXISTS_ACTION=SKIP
impdp system/sys directory=expdp_dir dumpfile=20100401102917_sec.dmp logfile=20100401102917_sec_impdp.log TABLE_EXISTS_ACTION=APPEND
impdp system/sys directory=expdp_dir dumpfile=20100401102917_sec.dmp logfile=20100401102917_sec_impdp.log TABLE_EXISTS_ACTION=REPLACE
impdp system/sys directory=expdp_dir dumpfile=20100401102917_sec.dmp logfile=20100401102917_sec_impdp.log TABLE_EXISTS_ACTION=TRUNCATE

相关文章

发表新评论