oracle修復Oracle 恢復刪除數據的方法
瀏覽量: 次 發布日期:2023-08-11 21:28:21
誤刪oracle數據庫中的數據,在不考慮全庫備份和利用歸檔日志情況,怎樣快速恢復數據呢?
下面介紹3種方法。
1. 利用oracle提供的閃回方法進行數據恢復,適用于delete刪除方式
首先獲取刪除數據的時間點:
select * from v$sql where sql_text like %table_name% ;
根據結果中的sql_text內容,找到delete執行語句對應的刪除時間點,執行下面語句查詢出刪除的數據。
select * from table_name as of timestamp to_timestamp(‘刪除時間點’,‘yyyy-mm-dd hh24:mi:ss’) where (刪除時的條件)
檢查數據無誤后,執行下面操作,將數據插回原表中。注意主鍵不重復
insert into table_name select * from from table_name as of timestamp to_timestamp(‘刪除時間點’,‘yyyy-mm-dd hh24:mi:ss’) where (刪除時的條件)
2. 利用oracle虛擬回收站功能 原理是因為oracle數據庫在刪除表時會將刪除信息存放于某虛擬回收站中而非直接清空,在此種狀態下數據庫標記該表的數據庫為可以復寫,所以在該塊未被重新使用前依然可以恢復數據。該方法多用于drop刪除。
首先查詢123user_table==視圖,找到被刪除的表:
select table_name,dropped from user_tables; select object_name,original_name,type,droptime from user_recyclebin;
注意此時的,object_name和original_name就是回收站存放的表名和原來刪除的表名,如果表名沒有被重新命名,可以通過下面語句進行恢復:
flashback table object_name to before drop new_table_name;
3. 用oracle數據庫的閃回功能可以將數據庫恢復到過去某一狀態
注意,此時是整庫恢復,具體語法如下:
SQL>alter database flashback on SQL>flashback database to scn SCNNO; SQL>flashback database to timestamp to_timestamp(‘frombyte 2021-09-02 23:59:59’,‘yyyy-mm-dd hh24:mi:ss’);
4. 徹底刪除數據
如果確定需要刪除的數據又不想無謂的占用空間,我們可以使用以下3種方式: 采用truncate方式進行截斷。(不能進行數據回恢復) 在drop時加上purge選項:drop table table_name purge 通過刪除recyclebin區域來永久性刪除表 ,drop table table_name cascade constraints purge table table_name;
5. 關于清空回收站 刪除當前用戶回收站 purge recyclebin; 兆柏數據恢復公司 刪除全體用戶在回收站的數據 purge dba_recyclebin; oracle修復
兆柏數據恢復公司
oracle修復 微信查券返利機器人
重要數據丟失請聯系兆柏數據恢復公司
. oracle11g修復,Oracle 11g TNS-12545錯誤排查與修復指南
. 控制器壞了如何修復視頻,控制器故障排查與視頻修復技巧解析
. 磁盤陣列壞了怎么修復啊,RAID磁盤陣列故障診斷與修復全攻略
. 戴爾筆記本硬盤損壞怎么辦,戴爾筆記本硬盤故障排查與修復指南
. 數據恢復中心有哪些,揭秘硬盤故障與數據丟失的解決方案n2. 硬盤數據恢復攻略:數據恢
. 戴爾筆記本硬盤損壞修復,戴爾筆記本硬盤故障排查與修復指南
. oracle數據庫數據恢復,Oracle數據庫數據恢復策略與實戰指南
. 硬盤數據恢復后文件損壞怎么辦,硬盤數據恢復后文件損壞的應對策略與修復方法
. oracle數據庫官網,深入探索Oracle數據庫官網——您的數據庫學習與資源寶庫
. oracle數據庫導入dmp,Oracle數據庫導入dmp文件詳解