Oracle中表被删除或数据被错误修改后的恢复方法
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
表被修改或刪除后可以按照以下步驟恢復:
1、刪除目標表(表被錯位修改的情況,如果被刪除就沒有這步了);
2、刪除表后,可以采用如下操作:
在user_recyclebin中找到最近操作過的表名稱,然后用閃回(只能用于10G及以上版本)。
FLASHBACK TABLE TABLE_NAME TO BEFORE DROP;
3、如果是刪了或修改里面的數(shù)據(jù),可以先建立一個快表將刪除修改之前狀態(tài)的數(shù)據(jù)找回到這個表中:
CREATE TABLE QUICK_TABLE AS
SELECT * FROM TABLE_NAME AS OF TIMESTAMP SYSDATE-1/24 (一小時前的),減去的時間可以自己定 如:select * from TABLE_NAME? AS OF TIMESTAMP? (SYSTIMESTAMP - INTERVAL '1' MINUTE)
4.恢復后的TABLE_NAME是回收站的表不可以用,最后可以直接把QUICK_TABLE改成需要的TABLE_NAME
注意:這個恢復的QUICK_TABLE表好像不能恢復主鍵和外鍵,所有在刪除表之前最好把源表的主鍵、外鍵和索引的語句拷貝下來
?
樣例(比如表AAA內(nèi)數(shù)據(jù)被錯位修改):
select * from user_recyclebin;
可以查詢到所有被刪除的記錄,從記錄中可以找到AAA,找到表名后,作如下操作
FLASHBACK TABLE AAA TO BEFORE DROP;
恢復到5個小時前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP SYSDATE-5/24
恢復到10分鐘之前
CREATE TABLE QUICK_TABLE AS SELECT * FROM AAA AS OF TIMESTAMP? (SYSTIMESTAMP - INTERVAL '10' MINUTE)
轉(zhuǎn)載于:https://my.oschina.net/u/267665/blog/227541
總結(jié)
以上是生活随笔為你收集整理的Oracle中表被删除或数据被错误修改后的恢复方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第十一天:find
- 下一篇: JCheckBox使用示例