oracle清理数据问题

一、删除一个用户下所有数据库对象
一种方法是删除这个用户然后重建,需要管理员操作:

drop user wangyi cascade; --删除用户
select * from dba_users where username = 'wangyi'; --查询默认表空间
drop tablespace WANGYI_DTBS including contents and datafiles; --删除表空间

重建用户:

create user wangyi identified by wangyi;
grant create session, create view, create any index, imp_full_database to wangyi;
alter user wangyi default tablespace wangyi temporary tablespace temp;
alter user wangyi quota unlimited on wangyi;

二、清除整个表的内容

delete from 表名;
truncate table 表名;

delete和truncate的区别:
delete删除的数据可以恢复,truncate不能恢复
delete高水位线不会下降,truncate高水位线会下降(释放表空间)

三、删除表

drop table 表名;

四、回收站
oracle 10g开始,表删除后不是直接删除而是去了回收站。

删除回收站中指定表

purge table 表名;

清空回收站

purge recyclebin;

直接删除

drop table 表名 purge;

就不会进回收站直接删除。

《oracle清理数据问题》上的一个想法

评论已关闭。