日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...

發布時間:2023/12/20 数据库 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、新建測試表并插入數據:oracle

二、模擬表數據誤刪并提交:測試

三、使用閃回查詢來查誤刪前表的數據:(表誤刪是在15:08分左右誤刪,所以在15:08分以前表的數據仍是在的):spa

四、用如今的數據與誤刪前的數據作對比,找出被誤刪的數據:.net

五、恢復被誤刪的數據,3d

方法一:直接用insert into插入被誤刪的數據,使用insert into插入誤刪的數據,則原來未刪除的數據的rowid不變;blog

方法二:使用flashback 恢復,使用flashback恢復其實是將表里面的數據delete,而后從新插入整個表的數據,表里面每行數據的rowid所有改變。若是表的數據很大,則閃回的時間也會相對久一點:事務

flashback table test to timestamp to_timestamp('2019-10-11 11:00:00','yyyy-mm-dd hh24:mi:ss');flash

若是執行上面flashback報錯:ORA-08189: cannot flashback the table because row movement is not enabled.(ORA-08189: 由于未啟用行移動功能, 不能閃回表),則執行下列語句"啟用行移動功能"

alter table table_name enable row movement; it

總結:

oracle閃回查詢使用的是undo表空間,閃回查詢能恢復的時間點取決于undo表空間的大小和Undo_Retention參數有關。若是系統中Undo管理比較不合理,事務Undo數據量比較大并且頻繁,有失效的Undo前鏡像被覆蓋以后,偏偏有一個長時間查詢須要訪問這個前鏡像。這個時候,Oracle就只能說“抱歉”了,這也就是經典的ora-1555 snapshot too old的起源。io

undo_retention從直接看就是設置Oracle Undo過時數據的保存期限,單位是秒。若是參數設置為900秒,那么Undo段數據在非Active狀態以后,會保留900秒。

若是根據這個守則,咱們進行一致讀和Flashback的時間就是經過這個參數來進行控制的。可是事實上,這個是有問題的。Undo的覆蓋動做是一個必然的過程,覆蓋與否是要和系統事務Undo消耗速率、Undo Tablespace大小乃至Undo數據文件可拓展性密切相關。

事實上,Undo_retention是一個“目標指望值”。用戶設置出這個值以后,Oracle內部會盡可能保證將Undo數據保留超過undo_retention設置的時間。在這個過程當中,Oracle會涉及到好比嘗試拓展Undo表空間數據文件、Undo Segment管理等內容。可是,若是“現實比較殘酷”,好比說Undo使用緊張、沒有額外的方法,那么這個時間段也是不能保證的。

總結部份內容摘自:http://blog.itpub.net/27785870/viewspace-1777263/

總結

以上是生活随笔為你收集整理的oracle闪回某个时间点的数据库,oracle11g 使用闪回查询恢复表到过去某一个时间点...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。