本帖最后由 firona 于 2009-06-15 16:30:43 编辑

解决方案 »

  1.   

    把这个user删除掉,在导入一次。
      

  2.   

    system用户是不能删除的。
    楼主可以把表和数据先倒入到指定的用户去。
    然后利用user_tables得到导入的表,然后写一个删除表的脚本;
    select 'drop table '||table_name ||' purge;' from user_tables;
    把生成的结果在system用户下执行。 
      

  3.   

    楼主要首先找到要删除的表,视图等对象,然后再分别删除.找到要删除的对象的方法是,看system用户下user_objects表的created,应该都是在同一时间或者是接近的时间内,如都是在2009年6月10日上午10点后导入的,利用这个字段能找到要删除的对象,然后再进行删除.可利用下面的脚本,删除表
    alter session set recyclebin=off;SET PAGESIZE 0
    spool c:\dropobj.sql
    SELECT 'DROP ' || object_type || ' ' || object_name || ';'
      FROM user_objects
     WHERE object_type IN ('PROCEDURE', 'FUNCTION', 'SEQUENCE', 'VIEW', 'PACKAGE', 'SYNONYM')
       AND CREATED BETWEEN TO_DATE('2009-6-10 10:00:00','YYYY-MM-DD HH24:MI:SS') AND 
                           TO_DATE('2009-6-10 11:00:00','YYYY-MM-DD HH24:MI:SS') ;
    spool offspool c:\droptab.sql
    SELECT 'DROP TABLE "' || object_name || '" CASCADE CONSTRAINTS PURGE;'
      FROM user_objects
     WHERE object_type = 'TABLE'
       AND CREATED BETWEEN TO_DATE('2009-6-10 10:00:00','YYYY-MM-DD HH24:MI:SS') AND 
                           TO_DATE('2009-6-10 11:00:00','YYYY-MM-DD HH24:MI:SS') ;
    ;
    spool off然后执行c:\dropobj.sql和c:\droptab.sql这两个文件中的语句就可以了.
      

  4.   


    system用户不能删除掉,你可以删除system用户下面的一些垃圾对象。用drop table tablename; drop index indexname;.......