oracle開啟閃回
首先檢視是否開啟閃回:
sql> select flashback_on from v$database;
flashback_on
------------------no二
如果已經開啟了閃回,無須執行下面的操作。
cd /u01
mkdir flashback(生成閃回目錄)
sql> alter system set db_recovery_file_dest_size=30g scope=both;
sql> alter system set db_recovery_file_dest='/u01/flashback' scope=both;
sql> shutdown immediate
sql> startup mount
sql> alter database archivelog;
sql> alter database flashback on;
sql> alter database open;
三再進行確認:
sql> select flashback_on from v$database;
flashback_on
------------------
yesoracle恢復刪除的表
--開啟行移動功能
alter table 表名 enable row movement;
對誤刪的表記錄,只要沒有truncate語句,就可以根據事務的提交時間進行選擇恢復,一般步驟有:
1、先從flashback_transaction_query檢視裡查詢,檢視提供了供查詢用的表名稱、事務提交時間、undo_sql等字段。
如:select * from flashback_transaction_query where table_name='test';
2、執行表記錄恢復
一般先根據時間進行查詢,查詢語句模式為select * from tb as of timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss'); tb指表名稱,time指某個時間點
如select * from scott.test as of timestamp to_timestamp('2009-12-11 20:53:57','yyyy-mm-dd hh24:mi:ss');
若有資料,恢復極為簡單了,語句為flashback table tb to timestamp to_timestamp(time,'yyyy-mm-dd hh24:mi:ss');
如flashback table scott.test to timestamp to_timestamp('2009-12-11 20:47:30','yyyy-mm-dd hh24:mi:ss');
注意:alter table testvarchar enable row movement;
這個命令的作用是,允許oracle 修改分配給行的rowid。在oracle 中,插入一行時就會為它分配乙個rowid,而且這一行永遠擁有這個rowid。閃回表處理會對emp 完成delete,並且重新插入行,
這樣就會為這些行分配乙個新的rowid。要支援閃回就必須允許oracle 執行這個操作
oracle 資料閃回
select from scott.dept insert into scott.dept values 50,錯誤資料 china select from scott.dept as of timestamp to timestamp 2011 12 09 10 00 00 yyyy mm dd ...
oracle閃回技術
1,閃回資料庫到之前某時間點 在安裝時需要開放閃回功能 不支援表空間刪除 select name from v database 看是否開啟閃回功能 select flashback on,name from v database select name from v bgprocess where...
oracle閃回技術
查詢某一時刻資料庫中資料狀態語句 select from abc as of timestamp to timestamp 2015 08 24 10 31 00 yyyy mm dd hh24 mi ss 閃回dml語句 flashback table abc to timestamp to ti...