在新建好database后,将dmp文件通过数据泵的形式导入到新库中后,正常使用。
问题出现在第二次,如果我有一个新的dmp文件,但是想不重新建库,直接导入到现在正在使用的库中,可是数据库中已存在的表或存储过程不能被覆盖导入,
因此只能将当前库删掉,再重新建一个,再将现有的dmp文件导入,请问有什么办法可以不删除当前库,直接覆盖导入,谢谢高手指点 

解决方案 »

  1.   

    不用重新建库的,那太麻烦了
    第一种方法,你把用户删除一下再重建,然后重新导入 : drop user xxx cascade
    另一种方法,把用户的表或者你想重新覆盖的object删除一下,再导入,一样ok
      

  2.   

    如果是数据帮导入的话,是有这个功能的impdp help=yTABLE_EXISTS_ACTION   导入对象已存在时执行的操作。
                          有效关键字: (SKIP), APPEND, REPLACE 和 TRUNCATE。这里有一个参数,你设置一下就OK了。
      

  3.   

    TABLE_EXISTS_ACTION=REPLACE就可以么
      

  4.   

    是的,TRUNCATE应该也可以。
      

  5.   

    TRUNCATE是什么意思  应该设置什么参数  那如果这样的话  存储过程和视图是不是不会被覆盖的
    如果想覆盖存储过程和视图呢
      

  6.   

    TRUNCATE清空表中数据,REPLACE应该是先DROP旧表再建新的视图和存储过程不清楚,但是我猜应该会被替换掉,如果存储过程的语句是create or replace
      

  7.   

    以往导入存储过程时,也有导不进去的时候,也许是没有create or replace的缘故
    这个还要试验一下   谢谢帮忙