设为首页 收藏本站
查看: 488|回复: 0

[经验分享] 【recyclebin】彻底禁用 Oracle回收站功能

[复制链接]

尚未签到

发表于 2016-7-24 12:28:47 | 显示全部楼层 |阅读模式
自从Oracle提供回收站功能后,为DBA恢复误drop的表带来了非常大的便利。
注意,即便是闪回功能是关闭状态,回收站功能默认也是开启的。

1.验证在未启用闪回功能的情况下回收站功能也可以使用
1)确认当前数据库版本为10.2.0.3
sys@ora10g> select * from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE 10.2.0.3.0 Production
TNS for Linux: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 - Production

sys@ora10g> select flashback_on from v$database;

FLASHBACK_ON
------------------
NO

2)确认数据库为启用闪回功能
sys@ora10g> select flashback_on from v$database;

FLASHBACK_ON
------------------
NO

3)模拟删除sec用户下的t表,并使用回收站恢复之
(1)创建测试表T
sec@ora10g> create table t as select * from all_objects;

Table created.

(2)drop之前的确认
sec@ora10g> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
T TABLE

(3)drop表T(不要使用purge参数)
sec@ora10g> drop table t;

Table dropped.

(4)确认回收站中包含T表的数据
sec@ora10g> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
BIN$hHoZrihpVOPgQAB/AQBsWg==$0 TABLE

sec@ora10g> select OBJECT_NAME,ORIGINAL_NAME,OPERATION from user_recyclebin;

OBJECT_NAME ORIGINAL_NAME OPERATION
------------------------------ -------------------------------- ---------
BIN$hHoZrihpVOPgQAB/AQBsWg==$0 T DROP

(5)恢复被drop的表T
sec@ora10g> flashback table t to before drop;

Flashback complete.

sec@ora10g> select * from tab;

TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
T TABLE

OK,到此我们已经验证在闪回功能为开启的情况下我们依然可以对误drop的表进行闪回恢复。

2.决定回收站功能启用与否的因素
其实在Oracle 10gR2版本中,回收站是否启用是由“recyclebin”参数来控制的。
默认情况下,这个参数是启用的(on)。
sys@ora10g> show parameter recyclebin

NAME TYPE VALUE
--------------- -------------------- ----------
recyclebin string on

Oracle官方文档中的描述信息参考:
链接:http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams175.htm#REFRN10264
RECYCLEBIN is used to control whether the Flashback Drop capability is turned on or off. If the parameter is set to OFF, then dropped tables do not go into the recycle bin. If this parameter is set to ON, dropped tablesgo into the recycle bin and can be recovered.

3.禁止回收站功能
我们可以通过修改参数“recyclebin”为“off”来禁用回收站功能。
这个参数既可以在使用“ALTER SYSTEM”命令修改,也可以使用“ALTER SESSION”命令进行修改,修改比较便利。

1)修改“recyclebin”参数为“off”
sec@ora10g> show parameter recyclebin

NAME TYPE VALUE
-------------- -------------------- ----------------
recyclebin string on
sec@ora10g> alter session set recyclebin=off;

Session altered.

sec@ora10g> show parameter recyclebin

NAME TYPE VALUE
-------------- -------------------- ------------------
recyclebin string OFF

2)此时再使用drop删除表后,将不放入回收站,当然也就无法使用闪回drop表的功能进行恢复
sec@ora10g> drop table t;

Table dropped.

sec@ora10g> select * from tab;

no rows selected

sec@ora10g> select * from recyclebin;

no rows selected

3)因为是在session级别进行的修改,再次连接到sec用户,该参数将恢复为“on”
sec@ora10g> conn sec/sec
Connected.
sec@ora10g> show parameter recyclebin

NAME TYPE VALUE
-------------- -------------------- ---------------
recyclebin string on

当然可以在系统级别进行修改,彻底禁用回收站的功能。

4.小结
什么时候需要考虑禁用回收站的功能呢?
除非有特殊需求(如系统存在大量的drop动作,但未使用到purge选项,防止占用系统空间和降低系统性能),否则不建议关闭这个功能。

Good luck.

secooler
10.04.17

-- The End --

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248639-1-1.html 上篇帖子: 如何创建oracle新用户(新schema) 下篇帖子: Oracle SQL 调优健康检查脚本
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表