ITPub博客

首页 > 数据库 > Oracle > 回收站不工作的问题解决

回收站不工作的问题解决

原创 Oracle 作者:djb1008 时间:2012-04-22 17:38:17 0 删除 编辑


一. 问题描述

在测试flashback 的功能时,发现drop表时,回收站功能没有能够启用.

二. 问题分析

数据库的flashback和recyclebin功能是开放的.
sql>select flashback_on from v$database;
FLASHBACK_ON
------------------------------------------------------
YES

SQL>show parameter recyclebin
NAME TYPE VALUE
---------------------- --------------------------------- --------
recyclebin string ON

[@more@]

SQL>create table t(x number(10));

Table created.

SQL> insert into t values(1);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from t;

X
----------
1

SQL> drop table t;
Table dropped.

####检查回收站里面,有没有刚才删除的表,结果显示没有任何记录.
SQL> show recyclebin
SQL> select * from user_recyclebin;
no rows selected

检查用户缺省表空间,原来hr用户的缺省表空间为system,hr.t表建立在system表空间上,所以删除该表时,因为它存在于system表空上

,不放入回收站.
SQL> select username ,default_tablespace from dba_users;
USERNAME DEFAULT_TABLESPACE
---------------------------------------- --------------------
OLTP1 SYSTEM
OUTLN SYSTEM
HR SYSTEM
SYS SYSTEM
SYSTEM SYSTEM
TSMSYS SYSTEM
DIP SYSTEM
DBSNMP SYSAUX
WMSYS SYSAUX


三. 问题解决
修改用户的缺省表空间(非system表空间)
SQL>alter user hr default tablespace users;
User altered.

再次测试删除表的操作.
SQL> create table t (id number(10));
Table created.
SQL> insert into t values(1);
1 row created.
SQL> commit;
Commit complete.
SQL> drop table t;
Table dropped.
SQL> show recyclebin;
ORIGINAL NAME RECYCLEBIN NAME OBJECT TYPE DROP TIME
---------------- ------------------------------ ------------ -------------------
T BIN$vkI6NtLWip7gQKjAgdAVoA==$0 TABLE 2012-04-22:02:34:25

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/32980/viewspace-1057973/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2010-07-27

  • 博文量
    175
  • 访问量
    778882