用imp还原oracle数据库,老是存在重复插入数据的现象,造成大量的重复数据,怎么才能将之前库里面的数据覆盖掉,只保留我还原的库里面的数据?

解决方案 »

  1.   

    最简单的,把原来的库干掉,新建个用户,使用DMP文件进行还原。
      

  2.   

    首先你进行imp恢复的时候,应该先将库里面现存的表drop掉,以防万一可以先备份数据;
    然后你在进行imp就不会有问题了,如果还存在重复数据那就证明你exp导出的数据就有重复数据;
    那就是另一种情况了,如果确定是重复的直接删了即可delete from table1 t1 where exists(select 1 from table2 te where t1.rowid > t2.rowid )
    and t1.id =t2.id )--id为你是通过哪些字段认证数据是重复的字段名,可变!
      

  3.   

    括号括错了,是这样的:delete from table1 t1 where exists(select 1 from table2 te where t1.rowid > t2.rowid and t1.id =t2.id )