0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Oracle數(shù)據(jù)恢復(fù)—Oracle刪除數(shù)據(jù)不用怕!這些數(shù)據(jù)恢復(fù)方法了解一下

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2024-07-19 16:40 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

相信有很多oracle數(shù)據(jù)庫用戶都遇到過在操作Oracle數(shù)據(jù)庫時誤刪除某些重要數(shù)據(jù)的情況,這個時候如果數(shù)據(jù)庫沒有備份且數(shù)據(jù)十分重要的,怎么才能恢復(fù)誤刪除的數(shù)據(jù)呢?北亞企安數(shù)據(jù)恢復(fù)工程師下面簡單介紹幾個誤刪除Oracle數(shù)據(jù)庫數(shù)據(jù)的恢復(fù)方法。

Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的恢復(fù)方法一:
利用oracle提供的閃回方法恢復(fù)數(shù)據(jù),該方法適用于delete刪除(一條記錄)的情況:
首先需要知道是什么時間進行的刪除操作,如果不能確定具體時間點則選擇盡量準確的刪除數(shù)據(jù)前的時間。然后利用“select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss')”語句可以找回刪除的數(shù)據(jù)。
利用“insert into 表名 (select * from 表名 as of timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss'))”語句就可以將恢復(fù)出來的數(shù)據(jù)插入原表中(注意要保證主鍵不重復(fù))。
另一種方法可以通過閃回整個表來恢復(fù)誤刪除的數(shù)據(jù),但僅適用于表結(jié)構(gòu)沒有發(fā)生改變且用戶有flash any table權(quán)限的情況下,語句如下:
alter table 表名 enable row movement
flashback table 表名 to timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss')

Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的恢復(fù)方法二:
oracle數(shù)據(jù)庫在刪除表時會將刪除信息存放于某虛擬“回收站”中而非直接清空,再此種狀態(tài)下數(shù)據(jù)庫標記該表的數(shù)據(jù)庫為“可以復(fù)寫”,所以在該塊未被重新使用前依然可以恢復(fù)數(shù)據(jù)。該方法適用于drop刪除。
首先需要通過查詢user_table視圖找到被刪除的表:
select table_name,dropped from user_tables
select object_name,original_name,type,droptime from user_recyclebin
注意此時的表名稱已經(jīng)被重新命名,table_name和object_name就是回收站中的存放表名。如果知道原表的名稱可以通過“flashback table 原表名 to before drop”語句恢復(fù)數(shù)據(jù),如果不知道原表的名稱可以直接按照回收站中的表名稱將數(shù)據(jù)恢復(fù),然后通過
“flashback table "回收站中的表名(如:Bin$DSbdfd4rdfdfdfegdfsf==$0)" to before drop rename to 新表名”語句就可以重新命名。

Oracle數(shù)據(jù)庫誤刪除數(shù)據(jù)的恢復(fù)方法三:
利用oracle數(shù)據(jù)庫的閃回功能可以將數(shù)據(jù)庫恢復(fù)到過去某一狀態(tài),語句如下:
SQL>alter database flashback on;
SQL>flashback database to scn SCNNO;
SQL>flashback database to timestamp to_timestamp('刪除時間點','yyyy-mm-dd hh24:mi:ss');
Oracle數(shù)據(jù)庫雖然提供了恢復(fù)數(shù)據(jù)的保障機制,但是也占用了大量空間,使用drop刪除一個表或者delete刪除數(shù)據(jù)后空間并不能自動回收。如果確實需要恢復(fù)刪除的數(shù)據(jù)又不想空間被浪費又該如何操作呢?可以采用以下方法:
1、采用truncate方式進行截斷。
2、在drop時加上purge選項:drop table 表名 purge,該選項也可以通過刪除recyclebin區(qū)域來永久性刪除表。
刪除表:
SQL>drop table emp cascade constraints;
SQL>purge table emp;
刪除當前用戶的回收站:
SQL>purge recyclebin;
刪除全體用戶在回收站的數(shù)據(jù):
SQL>purge dba_recyclebin

審核編輯 黃宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    oracle數(shù)據(jù)恢復(fù)oracle數(shù)據(jù)庫誤執(zhí)行錯誤truncate命令如何恢復(fù)數(shù)據(jù)?

    oracle數(shù)據(jù)庫誤執(zhí)行truncate命令導致數(shù)據(jù)丟失是種常見情況。通常情況,oracle
    的頭像 發(fā)表于 06-05 16:01 ?294次閱讀
    <b class='flag-5'>oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>oracle</b><b class='flag-5'>數(shù)據(jù)</b>庫誤執(zhí)行錯誤truncate命令如何<b class='flag-5'>恢復(fù)數(shù)據(jù)</b>?

    適用于Oracle的Devart Excel插件:輕松管理數(shù)據(jù)

    工作簿中的數(shù)據(jù),編輯這些數(shù)據(jù)并將其保存回 Oracle。它使您能夠像使用 Excel 工作表樣處理
    的頭像 發(fā)表于 01-14 11:11 ?490次閱讀
    適用于<b class='flag-5'>Oracle</b>的Devart Excel插件:輕松管理<b class='flag-5'>數(shù)據(jù)</b>

    服務(wù)器數(shù)據(jù)恢復(fù)—raid5陣列上層win系統(tǒng)+oracle數(shù)據(jù)數(shù)據(jù)恢復(fù)案例

    臺服務(wù)器上的8塊硬盤組建了組raid5磁盤陣列。上層安裝windows server操作系統(tǒng),部署了oracle數(shù)據(jù)庫。 raid5陣列中有2塊硬盤的硬盤指示燈顯示異常報警。服務(wù)
    的頭像 發(fā)表于 01-10 14:40 ?334次閱讀

    RAID 5 數(shù)據(jù)恢復(fù)方法

    RAID 5數(shù)據(jù)恢復(fù)個復(fù)雜且精細的過程,涉及多個步驟和專業(yè)知識。以下是套RAID 5數(shù)據(jù)恢復(fù)
    的頭像 發(fā)表于 12-27 17:04 ?1634次閱讀

    數(shù)據(jù)數(shù)據(jù)恢復(fù)ORACLE常見故障的數(shù)據(jù)恢復(fù)可行性分析

    Oracle數(shù)據(jù)庫常見故障表現(xiàn): 1、ORACLE數(shù)據(jù)庫無法啟動或無法正常工作。 2、ORACLE ASM存儲破壞。 3、
    的頭像 發(fā)表于 12-10 11:35 ?436次閱讀

    服務(wù)器數(shù)據(jù)恢復(fù)—LINUX系統(tǒng)刪除/格式化的數(shù)據(jù)恢復(fù)可行性分析

    Linux操作系統(tǒng)是世界上流行的操作系統(tǒng)之,被廣泛用于服務(wù)器、個人電腦、移動設(shè)備和嵌入式系統(tǒng)。Linux系統(tǒng)數(shù)據(jù)被誤刪除或者誤格式化的問題非常普遍。下面北亞企安
    的頭像 發(fā)表于 12-06 13:52 ?450次閱讀

    Oracle報錯“system01.dbf需要更多的恢復(fù)來保持致性”的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障&分析: Oracle數(shù)據(jù)庫打開報錯,報錯信息: “system01.dbf需要更多的
    的頭像 發(fā)表于 11-27 13:10 ?612次閱讀
    <b class='flag-5'>Oracle</b>報錯“system01.dbf需要更多的<b class='flag-5'>恢復(fù)</b>來保持<b class='flag-5'>一</b>致性”的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    oracle數(shù)據(jù)恢復(fù)—存儲掉盤導致Oracle數(shù)據(jù)庫文件大小變?yōu)?kb的數(shù)據(jù)恢復(fù)案例

    &并分析oracle數(shù)據(jù)庫的控制文件。重組存儲位圖信息,重新導出控制文件中記錄的數(shù)據(jù)文件,發(fā)現(xiàn)這些文件的大小依然為0kb。
    的頭像 發(fā)表于 11-21 11:29 ?457次閱讀
    <b class='flag-5'>oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—存儲掉盤導致<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b>庫文件大小變?yōu)?kb的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)數(shù)據(jù)恢復(fù)Oracle ASM實例無法掛載的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)數(shù)據(jù)恢復(fù)環(huán)境&故障: Oracle ASM磁盤組由4塊磁盤組成。Oracle
    的頭像 發(fā)表于 10-28 11:26 ?441次閱讀
    <b class='flag-5'>數(shù)據(jù)</b>庫<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b> ASM實例無法掛載的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    服務(wù)器數(shù)據(jù)恢復(fù)—EXT3文件系統(tǒng)刪除數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境: 郵件服務(wù)器中有組由8塊盤組成的RAID5陣列, 上層是Linux操作系統(tǒng)+EXT3文件系統(tǒng)。 服務(wù)器故障: 由于誤刪除導致文件系統(tǒng)中的郵件
    的頭像 發(fā)表于 10-23 15:11 ?459次閱讀
    服務(wù)器<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—EXT3文件系統(tǒng)<b class='flag-5'>下</b>誤<b class='flag-5'>刪除數(shù)據(jù)</b>的<b class='flag-5'>恢復(fù)</b>案例

    oracle數(shù)據(jù)恢復(fù)Oracle數(shù)據(jù)庫打開報錯的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫時報錯,報錯信息:“system01.dbf需要更多的恢復(fù)來保持致性,數(shù)據(jù)庫無法打開”。急需
    的頭像 發(fā)表于 10-17 13:20 ?509次閱讀
    <b class='flag-5'>oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b>庫打開報錯的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)—異常斷電后Oracle數(shù)據(jù)庫啟庫報錯的數(shù)據(jù)恢復(fù)案例

    Oracle數(shù)據(jù)庫故障: 機房異常斷電后,Oracle數(shù)據(jù)庫啟庫報錯:“system01.dbf需要更多的恢復(fù)來保持
    的頭像 發(fā)表于 09-30 13:31 ?706次閱讀
    <b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—異常斷電后<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b>庫啟庫報錯的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    數(shù)據(jù)數(shù)據(jù)恢復(fù)Oracle數(shù)據(jù)庫文件system01.dbf損壞的數(shù)據(jù)恢復(fù)案例

    打開oracle數(shù)據(jù)庫報錯“system01.dbf需要更多的恢復(fù)來保持致性,數(shù)據(jù)庫無法打開”。
    的頭像 發(fā)表于 09-21 14:25 ?938次閱讀
    <b class='flag-5'>數(shù)據(jù)</b>庫<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b>庫文件system01.dbf損壞的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    Oracle數(shù)據(jù)恢復(fù)Oracle數(shù)據(jù)庫delete刪除數(shù)據(jù)恢復(fù)方法

    刪除Oracle數(shù)據(jù)數(shù)據(jù)般有以下2種方式:delete、drop或truncate。下面針對這2種
    的頭像 發(fā)表于 09-11 11:45 ?674次閱讀

    NetApp數(shù)據(jù)恢復(fù)—NetApp存儲誤刪除數(shù)據(jù)恢復(fù)案例

    某公司臺NetApp存儲,該存儲中有24塊磁盤。 工作人員誤刪除了NetApp存儲中個文件夾,文件夾中有非常重要的數(shù)據(jù)。 數(shù)據(jù)
    的頭像 發(fā)表于 08-12 13:35 ?493次閱讀
    NetApp<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>—NetApp存儲誤<b class='flag-5'>刪除</b>的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復(fù)</b>案例

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品