oracle 11 g標準版
正確閃回執行方式:
SQL> shutdown; SQL> startup mount; 資料庫啟動到mount下
SQL> alter table SY_GLOBAL_NAME enable row movement;--意思是允許Oracle修改rowid。Oracle插入資料時會為該條資料分配唯一rowid並且不變,要啟用閃回功能必須開啟可修改rowid功能 SQL> SQL> flashback table SY_GLOBAL_NAME TO TIMESTAMP TO_TIMESTAMP('2013-05-04 03:16
:00','yyyy-MM-dd hh24:MI:ss'); --真正地閃回操作
刪除某個表的資料後閃回表的操作
alter table SY_MENU_PARAM enable row movement;
flashback table SY_MENU_PARAM TO timestamp to_timestamp('2013-03-28 11:30
一 刪除表之後的閃回操作
KEY POINT:
1 使用除了sys之外的其他使用者
2 不能使用預設的sys資料表空間
步驟
1
2 create a new table and insert one record then delete it.
Use the flashback table tabsys to before drop;
to do the data reduction:(If there is some data in the table .the aboving command also could help to reduct those data)
SQL> create table tabsys (f1 int) tablespace circoweb;Tabla creada.SQL> insert into tabsys values (123);1 fila creada.SQL> select tablespace_name from dba_segments where segment_name='TABSYS';TABLESPACE_NAMECIRCOWEBSQL> drop table tabsys;Tabla borrada.SQL> flashback table tabsys to before drop;Flashback terminado.SQL> select * from tabsys;F1123
二 資料庫表資料的閃回操作
結論:Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product 不支援單個資料庫表的閃回
查證1 :
SQL> SELECT * FROM V$OPTION ORDER BY VALUE;
PARAMETER
----------------------------------------------------------------
VALUE
----------------------------------------------------------------
Flashback Table
FALSE
查證2
SQL> alter database flashback off;
Database altered.
SQL> alter database flashback on;
alter database flashback on
*
ERROR at line 1:
ORA-00439: feature not enabled: Flashback Database
-- 不支援閃回
三 其他
設定資料庫閃回的時間(預設為15分鐘 修改該參數)
alter system set undo_retention=3600;
====================For Reference====================
http://wenku.baidu.com/view/68bf50fc0242a8956bece49d.html
https://forums.oracle.com/forums/thread.jspa?threadID=825268
=================================================