oracle 資料回滾查詢 閃回查詢

2021-10-08 02:13:55 字數 979 閱讀 3715

由於在做開發的時候,是多個同事同時對同乙個包進行操作,如果在對package body 做edit之前,沒有進行refresh操作,極易造成包的覆蓋。如果覆蓋,只能通過快閃儲存器進行恢復。

1.以sys使用者登入資料庫,先找物件的obj號碼

select obj#

from obj$ as

oftimestamp to_timestamp(

'2011-11-21 11:30:00'

,'yyyy-mm-dd hh24:mi:ss'

)where name =

' pkg_qt_qtswts'

;--as of timestamp to_timestamp('2011-11-21 11:30:00', 'yyyy-mm-dd hh24:mi:ss')為閃回查詢時間,表示查詢2011-11-21 11:30:00之前--的版本

查詢結果

264699

264700

2.查詢舊版本資料

--查詢出來的為包頭

select source from source$ as

oftimestamp to_timestamp(

'2011-11-21 11:30:00'

,'yyyy-mm-dd hh24:mi:ss'

)where obj# = 264675;

--查詢出來的為包體

select source from source$ as

oftimestamp to_timestamp(

'2011-11-21 11:30:00'

,'yyyy-mm-dd hh24:mi:ss'

)where obj# = 264676;

oracel 閃回空間有大小限制,如果資料庫的寫入操作過於頻繁,機遇lru的方式 會把以前的資料覆蓋,所以閃回查詢的時間不是沒有限制,是有查詢時間的限制。

Oracle閃回查詢

閃回查詢 查詢在特定時間點存在的所有資料。使用閃回查詢功能,可以執行截止到特定時間的查詢。使用select語句的as of子句,可以指定要檢視其對應資料的時間戳。這在分析資料差異時非常有用。注 timestamp和scn是as of子句的有效選項。update employees set salar...

oracle資料回滾

當我們修改了表的資料並且提交了事務後,想回滾資料怎麼辦?先根據sql執行歷史確定資料回滾時間點 select sql text,last load time from v sql where sql text like update order by last load time desc 再將資料...

Oracle資料回滾

select from 表名 as of timestamp to timestamp 2019 04 15 22 00 38 yyyy mm dd hh24 mi ss alter table 表名 enable row movement alter table 表名 disable row mo...