一種資料被誤修改後的找回方法
一種資料被誤修改後的找回方法
之前同事跟我提起我們資料庫中表的資料有時會莫名其妙的被修改,針對這種情況如何儘快的找到原來的資料呢,看起來問題比較棘手,但如果問題發現的時間與資料被修改的時間間隔不長的話,在oracle中提供了一種比較簡單和輕量級的方法就是閃回查詢,通過閃回查詢在大多數情況下可以滿足這種要求。
假設希望獲得表t1一天前的資料,使用如下查詢即可以達到目的:
FM@TEST 2013-11-22 15:21:21> SELECT * FROM T1 AS OF TIMESTAMP ( TO_DATE('2013-11-21 15:19:51', 'YYYY-MM-DD HH24:MI:SS') ) ;
A
----------
BBB
但如果查詢更早時間的資料,也有可能會報錯:
FM@TEST 2013-11-22 15:21:35> SELECT *FROM T1 AS OF TIMESTAMP ( TO_DATE('2013-11-21 00:19:51', 'YYYY-MM-DD HH24:MI:SS') ) ;
SELECT * FROM T1 AS OF TIMESTAMP ( TO_DATE('2013-11-21 00:19:51', 'YYYY-MM-DD HH24:MI:SS') ) *
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 2 with name "_SYSSMU2_1606812849$" too small
能夠查詢到多久前的資料可以查詢檢視v$undostat(該檢視會保留4天的資料):
SYS@test 2013-11-23 18:18:51> select begin_time, end_time , tuned_undoretention from v$undostat order by end_time;
BEGIN_TIME END_TIME TUNED_UNDORETENTION
------------------- ------------------- -------------------
2013-11-19 18:28:21 2013-11-22 21:18:21 0
2013-11-22 21:18:21 2013-11-22 21:28:21 1123
2013-11-22 21:28:21 2013-11-22 21:38:21 900
2013-11-22 21:38:21 2013-11-22 21:48:21 1120
2013-11-22 21:48:21 2013-11-22 21:58:21 1720
2013-11-22 21:58:21 2013-11-22 22:08:21 1116
2013-11-22 22:08:21 2013-11-22 22:18:21 1717
這個查詢跨度由undo_retention引數、undo表空間的大小和undo表空間的RETENTION屬性(取值為NOGUARANTEE、GUARANTEE)來控制,如果將undo_retention引數設定為更大的值(oracle的建議值是86400),並且undo表空間為自動擴充套件的話,閃回查詢可以保證查詢到更長時間前的資料。
另外通過這次對錶的閃回查詢的測試,糾正了之前的一個理解錯誤,表的閃回查詢需要在歸檔模式下才有效,其實沒有任何關係。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7913676/viewspace-777419/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 利用延時備庫找回被誤刪的資料
- [Logmnr]使用logminer找回被誤刪的資料
- 一種後設資料同步的方法
- spfile誤修改導致資料庫無法啟動的另一種恢復方法資料庫
- 被誤刪的檔案正確處理方法,快速找回誤刪的檔案
- oracle資料檔案被誤刪除後的災難處理方法Oracle
- mysql誤修改全表記錄,使用binlog日誌找回資料MySql
- 【strings】spfile誤修改導致資料庫無法啟動的另一種恢復方法資料庫
- 修改資料檔案的位置的兩種方法
- 利用Logmnr找回誤刪除的資料
- LINUX下資料被誤刪除、LINUX下資料被誤格式化後資料恢復Linux資料恢復
- 資料夾變exe資料找回方法
- UNDO表空間下的資料檔案被誤刪除後的處理方法
- TSPITR方式資料庫找回誤操作丟失的資料資料庫
- 記一次電腦故障後找回資料的歷程
- 安全快速修改Mysql資料庫名的5種方法MySql資料庫
- 一種錯誤的資料欄位取名
- Mac 備忘錄( Notes)裡筆記被永久刪除後的找回方法Mac筆記
- 使用oracle 閃回查詢找回誤更新的資料Oracle
- 【piner】利用Logmnr找回誤刪除資料
- 利用Logmnr找回誤刪除資料(zt)
- 記一次業務人員誤刪資料後的處理方法
- PE裝到行動硬碟的資料找回方法硬碟
- 誤刪了電腦資料怎麼找回來?
- 爬取資料時防止爬蟲被限制的四種方法爬蟲
- 桌面上的檔案被誤刪該怎麼才能找回
- 表資料被誤操作的恢復
- SD卡被格式化後如何找回原來的影片SD卡
- 電腦檔案誤刪除了怎麼恢復找回?誤刪電腦資料恢復方法教程資料恢復
- 非歸檔模式下資料檔案被誤刪的解決方法模式
- 爬取網頁後的抓取資料_3種抓取網頁資料方法網頁
- 電腦照片不小心被刪除了怎麼找回來,資料恢復方法有哪些?資料恢復
- mysql資料誤刪後的資料回滾MySql
- 我把Linux系統上面誤刪的資料找回來了Linux
- CDM修改資料型別的方法資料型別
- 物件業務的修改後設資料介面物件
- 資料庫連線的方法種種資料庫
- 一種安全的前後端資料互動方案後端