您的位置:首页 > 数据库 > Oracle

Oracle闪回技术之三 Oracle 11g Oracle RecycleBin (回收站)管理一

2013-01-27 10:12 337 查看
Oracle的回收站也要定期维护,否则随着时间的增长,有可能会占用你很大的磁盘空间。管理回收站主要包括:启用和禁用回收站、查看回收站中的信息和清除回收站中的对象。

1、启用和禁用回收站

oracle系统默认启用回收站。如果要手工控制回收站是否启用,可以通过修改RECYCLEBIN参数。首先通过SHOW PARAMETER RECYCLEBIN命令检查(注意也必须是管理员用户才可以)当前回收站是否启用。

SQL> show parameter recyclebin;

NAME TYPE VALUE

------------------------------------ ----------- ------------------------------

recyclebin string on

Value值是on说名回收站是启用状态;

关闭回收站:

SQL> alter session set recyclebin=off;

会话已更改。

2、查看回收站中的信息

两种:1、dba通过数据字典dba_recyclebin来查看2、普通用户通过show recyclebin来查看

SQL> desc user_recyclebin;

名称 是否为空? 类型

----------------------------------------- -------- ----------------------------

OBJECT_NAME NOT NULL VARCHAR2(30)

ORIGINAL_NAME VARCHAR2(32)

OPERATION VARCHAR2(9)

TYPE VARCHAR2(25)

TS_NAME VARCHAR2(30)

CREATETIME VARCHAR2(19)

DROPTIME VARCHAR2(19)

DROPSCN NUMBER

PARTITION_NAME VARCHAR2(32)

CAN_UNDROP VARCHAR2(3)

CAN_PURGE VARCHAR2(3)

RELATED NOT NULL NUMBER

BASE_OBJECT NOT NULL NUMBER

PURGE_OBJECT NOT NULL NUMBER

SPACE NUMBER

3、恢复相依对象

SQL> create table tb_index_test(id number,content varchar2(30));

表已创建。

SQL> create index index_id on tb_index_test(id);

索引已创建。

SQL> drop table tb_index_test;

表已删除。

SQL> show recyclebin;

ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME

---------------- ------------------------------ ------------ -------------------

TB_INDEX_TEST BIN$gf1yHCeHQYaV7metr4X4kg==$0 TABLE 2013-01-27:09:59:14

可见没有与索引相关的信息,下面我们用一条sql来查看删除的表和索引信息,而上面的语句只能查询到表的信息。

SQL> select original_name,object_name,type,droptime from user_recyclebin;

ORIGINAL_NAME OBJECT_NAME

-------------------------------- ------------------------------

TYPE DROPTIME

------------------------- -------------------

TB_INDEX_TEST BIN$gf1yHCeHQYaV7metr4X4kg==$0

TABLE 2013-01-27:09:59:14

INDEX_ID BIN$MSHanVPZRluFmcNkmb/FYw==$0

INDEX 2013-01-27:09:59:14
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: