Oracle使用——impdp导入数据时数据表已经存在

时间:2023-12-23 10:08:50

背景

  • 在做数据迁移时,需要将不同地方的dmp文件整合到一个数据库中,在导入时,目标表已经存在,该如何把数据追加进入目标表中

方法介绍

  • 当使用IMPDP完成数据库导入时,如遇到表已存在时,Oracle提供给我们如下四种处理方式:
    • SKIP:跳过已经存在的表,继续导入下一个对象,如果CONTENT设置了DATA_ONLY参数,则不能使用SKIP
    • APPEND:不会影响已存在的数据,在原有数据表的基础上继续增加数据
    • REPLACE:先删除掉表,然后创建表,最后完成数据插入
    • TRUNCATE:删除已存在的行,然后插入所有的数据

使用

  • 我们需要在导入语句中使用TABLE_EXISTS_ACTION参数指定导入数据方式,方法如下
    impdp zcgl/system dumpfile=GUIDONG.DMP  directory=data_pump_dir REMAP_TABLESPACE=ASSETS:ZCGL REMAP_SCHEMA=TESTUSER:ZCGL TABLE_EXISTS_ACTION=APPEND logfile=TEST20191111.log
    
  • Next