【recyclebin】徹底禁用 Oracle回收站功能
自從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官方文件中的描述資訊參考:
連結:
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 tables go 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.驗證在未啟用閃回功能的情況下回收站功能也可以使用
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官方文件中的描述資訊參考:
連結:
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 tables go 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 --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/519536/viewspace-660038/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【RECYCLEBIN】Oracle回收站詳解Oracle
- 清除oracle的recyclebin回收站Oracle
- 徹底禁用Windows更新Windows
- Win10如何徹底禁用小娜?徹底禁用小娜的方法Win10
- 如何徹底關閉win10防火牆 徹底禁用windows防火牆Win10防火牆Windows
- Win10 - 徹底禁用Cortana的方法Win10
- oracle 回收站功能Oracle
- 【Oracle】-【recyclebin,索引】-回收站恢復的索引名稱修改Oracle索引
- win10徹底禁用svchost如何操作 win10怎麼徹底關掉svchostWin10
- Oracle 徹底 kill sessionOracleSession
- 徹底刪除ORACLEOracle
- Oracle10g的回收站(recyclebin)和自由空間管理Oracle
- windows10系統怎麼徹底禁用svchostWindows
- win10怎麼徹底關閉自動全屏功能_win10如何禁用全屏優化功能Win10優化
- Oracle10g 回收站及徹底刪除table : drop table xx purge 以及flashbackOracle
- Oracle10g的回收站(recyclebin)和自由空間管理(zt)Oracle
- Oracle徹底殺掉程式Oracle
- AIX徹底刪除ORACLEAIOracle
- win10怎麼徹底關閉自動全屏功能_win10如何禁用全屏最佳化功能Win10
- Oracle10g 回收站及徹底刪除table : drop table xx purge 以及drop flashOracle
- oracle rac 12徹底刪除,徹底刪除該死的racOracle
- Windows10徹底關閉休眠功能Windows
- win10怎麼設定將小娜徹底禁用|win10徹底關閉小娜的方法Win10
- Oracle Recyclebin - purgeOracle
- recyclebin in ORACLE 10Oracle
- 徹底解決Oracle中文亂碼Oracle
- Windows下徹底解除安裝ORACLEWindowsOracle
- oracle recyclebin詳解Oracle
- Oracle recyclebin介紹Oracle
- oracle recyclebin和flashbackOracle
- oracle徹底刪除資料檔案Oracle
- 【kill session】Oracle 徹底 kill session(轉載)SessionOracle
- (個人)windowns系統徹底刪除oracleOracle
- ORACLE快速徹底Kill掉的會話Oracle會話
- 談談如何徹底解除安裝Oracle?Oracle
- Oracle回收站功能開啟與關閉Oracle
- oracle10g recyclebinOracle
- recyclebin for oracle 10gOracle 10g