请教如何将10g的system用户下的垃圾数据删除?? 本帖最后由 firona 于 2009-06-15 16:30:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把这个user删除掉,在导入一次。 system用户是不能删除的。楼主可以把表和数据先倒入到指定的用户去。然后利用user_tables得到导入的表,然后写一个删除表的脚本;select 'drop table '||table_name ||' purge;' from user_tables;把生成的结果在system用户下执行。 楼主要首先找到要删除的表,视图等对象,然后再分别删除.找到要删除的对象的方法是,看system用户下user_objects表的created,应该都是在同一时间或者是接近的时间内,如都是在2009年6月10日上午10点后导入的,利用这个字段能找到要删除的对象,然后再进行删除.可利用下面的脚本,删除表alter session set recyclebin=off;SET PAGESIZE 0spool c:\dropobj.sqlSELECT '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.sqlSELECT '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这两个文件中的语句就可以了. system用户不能删除掉,你可以删除system用户下面的一些垃圾对象。用drop table tablename; drop index indexname;....... 过程中如何创建其他用户下的表 oracle导出请教,在线等 oracle数据库导入问题 求解 知道怎么把sas导入oracle的进来看看 大家帮帮我啊!我该怎么呀? 怎样找出是哪个客户端创建或删除数据表的? 数据库复制 数据库的启动问题 文件重写——急需答案 to_number的问题 多表关联,连接表的合理个数是多少? select 连接查询两个表,并显示24小时前的数据
楼主可以把表和数据先倒入到指定的用户去。
然后利用user_tables得到导入的表,然后写一个删除表的脚本;
select 'drop table '||table_name ||' purge;' from user_tables;
把生成的结果在system用户下执行。
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这两个文件中的语句就可以了.
system用户不能删除掉,你可以删除system用户下面的一些垃圾对象。用drop table tablename; drop index indexname;.......