Oracle-誤刪資料恢復(短期內)
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDOTBS1
誤刪資料後,立刻發現,採用方式:
根據時間恢復:
select count(1) from test; --0
insert into test
select * from test as of timestamp to_timestamp('2015-01-22 15:14:00','yyyy-mm-dd hh24:mi:ss');
select count(1) from test; --5070
根據SCN恢復:
獲取當前SCN號:select dbms_flashback.get_system_change_number fscn from dual;
delete from test;
commit;
select count(1) from test; --0
insert into test
select * from test as of scn 11431740649396;
select count(1) from test; --5070
以上方式恢復資料,需要時間在undo_retention之內,且,undo未被重用,如果不存在,且有備份,可以在測試庫將備份恢復出來。
SCN與timestamp之間的轉換:
select scn_to_timestamp(11431740649396) from dual;
select timestamp_to_scn(to_timestamp('2015-01-22 15:14:25','yyyy-mm-dd hh24:mi:ss')) from dual;
資料塊未被覆蓋也可以使用bbed恢復(少量資料),慎用(還沒看明白)。
表被drop:
SQL> drop table test;
Table dropped
SQL> select count(1) from test;
select count(1) from test
ORA-00942: 表或檢視不存在
--檢視回收站資訊
SQL> select * from user_recyclebin;
OBJECT_NAME ORIGINAL_NAME OPERATION TYPE TS_NAME CREATETIME
BIN$DTmXjQWbF3rgUKjAHwA3Gg==$0 TEST DROP TABLE RTMS_TS 2015-01-20:15:18:20
閃回表:
SQL> flashback table test to before drop;
Done
SQL> select count(1) from test;
COUNT(1)
----------
5070
SQL> drop table test;
Table dropped
--閃回表並重新命名
SQL> flashback table test to before drop rename to test_1;
Done
SQL> select count(1) from test;
select count(1) from test
ORA-00942: 表或檢視不存在
SQL> select count(1) from test_1;
COUNT(1)
----------
5070
如果刪除時間過程但有備份且開啟歸檔:可以在測試庫中根據scn或時間點還原資料,然後將還原後的資料匯入到生產中。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28258625/viewspace-1411953/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- ORACLE-資料恢復Oracle資料恢復
- Oracle恢復誤刪資料Oracle
- mysql誤刪資料恢復MySql資料恢復
- oracle恢復誤刪除資料Oracle
- Mysql 誤刪資料進行恢復MySql
- Linux恢復誤刪的資料Linux
- 磁碟誤刪卷資料恢復工具資料恢復
- Oracle閃回刪除恢復誤刪資料Oracle
- 【北亞資料恢復】誤刪除oracle表和誤刪除oracle表資料的資料恢復方法資料恢復Oracle
- Sybase ASE資料庫恢復,Sybase資料恢復,資料誤刪除恢復工具READSYBDEVICE資料庫資料恢復dev
- Mongodb資料庫誤刪後的恢復MongoDB資料庫
- 閃回查詢恢復誤刪資料
- 使用Logmnr恢復誤刪的資料
- Flashback Query恢復誤刪除資料(轉)
- SQL Server資料庫恢復,SQL Server資料恢復,SQL Server資料誤刪除恢復工具SQLRescueSQLServer資料庫資料恢復
- 【oracle資料庫資料恢復】誤操作導致的資料庫誤刪除的資料恢復案例Oracle資料庫資料恢復
- Sybase SQL Anywhere(ASA)資料庫恢復,ASA資料恢復,資料誤刪除恢復工具ReadASADBSQL資料庫資料恢復
- mysql 誤刪除表內資料,透過binlog日誌恢復MySql
- 誤刪除儲存SqlServer資料庫資料恢復SQLServer資料庫資料恢復
- 【伺服器資料恢復】LINUX誤刪除、誤格式化怎麼恢復資料?伺服器資料恢復Linux
- 電腦檔案誤刪除了怎麼恢復找回?誤刪電腦資料恢復方法教程資料恢復
- 【伺服器資料恢復】伺服器誤刪除lun如何恢復資料?伺服器資料恢復
- MySQL資料庫表誤刪除恢復(一)MySql資料庫
- Oracle恢復誤刪除的資料檔案Oracle
- truncate table 誤刪除資料後的恢復
- 【儲存資料恢復】NetApp儲存誤刪資料夾的資料恢復案例資料恢復APP
- 伺服器資料恢復—EMC儲存資料卷被誤刪除如何恢復資料?伺服器資料恢復
- 恢復Oracle資料庫誤刪除資料的語句Oracle資料庫
- 誤刪除資料了怎麼辦?小編交易誤刪除資料的恢復方法
- 【虛擬化資料恢復】KVM虛擬機器誤刪除資料恢復案例資料恢復虛擬機
- 【儲存資料恢復】HP EVA儲存誤刪除VDISK的資料恢復案例資料恢復
- 【儲存資料恢復】NetApp儲存誤刪除的資料恢復案例資料恢復APP
- 【伺服器資料恢復】伺服器誤刪除卷怎麼恢復資料伺服器資料恢復
- 【伺服器資料恢復】LINUX誤刪除、格式化的資料恢復伺服器資料恢復Linux
- 【伺服器資料恢復】EMC Unity儲存誤刪除的資料恢復案例伺服器資料恢復Unity
- 【儲存資料恢復案例】Netapp誤操作刪除lun的資料恢復資料恢復APP
- 【資料庫資料恢復】LINUX環境下ORACLE資料庫誤刪除的資料恢復資料庫資料恢復LinuxOracle
- Oracle資料恢復 - Linux / Unix 誤刪除的檔案恢復(轉)Oracle資料恢復Linux