oracle回閃操作

2021-09-02 12:22:17 字數 1111 閱讀 2492

查詢test表中記錄

select * from test;

刪除test表中記錄

delete from test;

獲得過去的會話

exec dbms_flashback.disable;

查詢出3分鐘前這個test表的情況

select * from test as of timestamp(systimestamp - interval '3' minute );

最大時間值為8277,但不知道該值是根據什麼來變化的?

將查出的記錄插入到誤刪除資料的表中

insert into test select * from test as of timestamp(systimestamp - interval '30' minute );

兩種方法:

1、使用dbms_flshback

閃回:dbms_flashback.enable_at_time(to_timestamp('2006-5-24 8:26:0', 'yyyy-mm-dd hh24:mi:ss'))

_changexec dbms_flashback.enable_at_systeme_number(4143031890000);--change number

取消閃回:exec dbms_flashback.disable

2、語句級

select * from dept as of scn 4143031890000);--change number

select * from dept as of timestamp(to_timestamp('2006-5-24 8:26:0', 'yyyy-mm-dd hh24:mi:ss'));

在10g上執行的操作

例:執行將test表閃回到2023年5月7日下午3點。

sql>flashback table test to timestamp to_timestamp('2005-05-07 15:00:00','yyyy-mm-dd hh24:mi:ss');

修改資料庫中某些字段存在的空格

update laagent set name=replace(name,' ','') where agentcode='116000001'

oracle誤操作閃回

今天操作oracle資料庫時,做乙個update資料時,不小心少寫了個where,看這粗心大意的。於是乎,把所有的員工工號都給更新成乙個同乙個工號了。這是乙個悲催的故事。因為工號是check了好多次才存入資料庫,工號是唯一性的啊 如果多次commit資料後,那可不可以閃回呢?貌似不可以。閃回只能暫存...

Oracle閃回資料操作

問題 在使用oracle時,不小心刪錯了資料,並提交了怎麼怎麼辦?解決方法 這個時候就需要使用oracle的閃回功能。flashback table 表名 to timestamp to timestamp 2014 0315 09 30 00 yyyy mm dd hh24 mi ss 使用上述語...

171211之Oracle閃回操作

簡介 oracle的閃回功能可以在對資料庫進行不完全恢復的情況下,對某乙個指定的表進行恢復。閃回資料庫是進行時間點恢復的新方法,它能夠快速將oracle恢復到以前的時間,以更正由於邏輯資料損壞或使用者錯誤而引起的問題。當需要恢復時,可以將資料庫恢復到錯誤前的時間點,並且只恢復改變的資料塊。oracl...