[ORACLE]删除表的purge用法
请支持原创,认准DannisTang(tangweixuan1995@foxmail.com)
使用oracle开发的时候,如果在存储过程中,或者是其他代码中使用了drop语句删除大量表,容易在回收站中产生垃圾,DBA会投诉,所以不要这样做,如果确定了要drop表,则最好加上purge,但是要慎用,因为无法闪回
---------------drop table dt-------------------------
SQL> show parameter recycle;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
buffer_pool_recycle string
db_recycle_cache_size big integer 0
recyclebin string on
---
SQL> purge recyclebin;
回收站已清空。
SQL> show recyclebin;
SQL> create table dt(id int);
表已创建。
SQL> insert into dt values(1);
已创建 1 行。
SQL> drop table dt;
表已删除。
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
dt BIN$2cOZCZj0Ry27btpd7ymTHg==$0 TABLE 2019-04-10:10:56:58
SQL> flashback table dt to before drop;
闪回完成。
SQL> select * from dt;
ID
----------
1
SQL>
-----------------再来看看加上purge的效果:drop table dt1 purge-------------------------
SQL> show recyclebin;
SQL> create table dt1(id int);
表已创建。
SQL> insert into dt1 values(2);
已创建 1 行。
SQL> drop table dt1 purge;
表已删除。
SQL> show recyclebin;
SQL>