impdp仅导入数据

impdp仅导入数据

问: 使用impdp导入数据时,可以仅仅导入数据而不破坏表结构吗?具体场景是,目前使用的脚本是先将用户drop掉,然后重新全部导入,客户担心这样做会破坏表结构。

答:可以实现的。在使用impdp导入数据时,加table_exists_action参数即可,将该参数设置为table_exists_action=truncate,则在导入数据时,如果表已经存在,则先清空表中的全部数据,然后再进行导入,这样就不会破坏表结构了。使用该方法导入,注意查看导入日志,如果一旦表结构发生变化,数据有可能无法正常导入。

示例:

impdp  system/oracle  directory=backup dumpfile=mydump.dmp logfile=mydump.log  tables=hs_cic.cic_additionid table_exists_action=truncate

table_exists_action参数可以选择:

skip 如果已经有同名的表存在,就跳过,什么也不做(不导入数据) append 如果已经有同名的表存在,表中已经存在的记录不做修改,并附加导入dmp文件中的数据 truncate 如果已经有同名的表存在,先truncate表,再导入数据 replace 如果已经有同名的表存在,drop掉表,再按照dmp文件中的定义重建表,最后导入数据

posted @ 2026-01-12 19:39  ceiloruz  阅读(1)  评论(0)    收藏  举报