[ORACLE]删除表的purge用法

[ORACLE]删除表的purge用法

请支持原创,认准DannisTang([email protected]

使用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>

[ORACLE]删除表的purge用法_第1张图片

你可能感兴趣的:(ORACLE)