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

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

3天內不再提示

【數據庫數據恢復】oracle數據庫誤truncate table的數據恢復案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2022-12-27 13:54 ? 次閱讀

數據庫恢復環(huán)境:

操作系統:windows server;

數據庫:win_oracle_x64。

數據庫故障&分析:

oracle數據庫誤truncate table,備份無法使用。

oracle數據庫誤操作導致數據丟失是比較常見的一種故障,如果有備份只需要恢復備份數據即可,我們中心數據恢復工程師接到的case多是無備份或者備份無法使用、還原報錯等。

首先介紹下Truncate工作原理:正常情況下oracle會通過Segment Header及數據字典對表更新Data Object ID,實際上存儲數據部分的塊并未被修改,如果被truncate,那么oracle在讀取全表數據時會因為數據字典和Data Object ID與實際存儲的數據塊內容不一致而不會讀取被truncate的內容記錄。

數據庫數據恢復過程:

本次案例演示中,北亞數據恢復工程師構造了一個相同環(huán)境下的類似故障。

1、用Scott用戶創(chuàng)建表emp1,連續(xù)多次復制emp表,然后truncate表emp1。此時查詢該表,數據庫中該表的記錄為0條。

北亞數據恢復——oracle數據庫數據恢復

2、基于oracle數據庫文件底層分析system表空間文件,找到truncate表的原始數據所在的位置。

北亞數據恢復——oracle數據庫數據恢復

3、解析表所在的數據文件數據庫,找到truncate的數據并將truncate的數據插入到數據庫中。通過解析system01.dbf文件,找到truncate的數據所在的位置,繼而找到被刪除的數據。解析表所在的數據文件,然后將truncate的數據插入到數據庫中。

4、在數據庫中查找被truncate的數據,結果發(fā)現被truncate的數據已經恢復,備份數據。

北亞數據恢復——oracle數據庫數據恢復

5、Exp導出scott用戶。

北亞數據恢復——oracle數據庫數據恢復

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    3

    文章

    3523

    瀏覽量

    88330
  • 數據恢復
    +關注

    關注

    10

    文章

    541

    瀏覽量

    17347
  • 數據庫
    +關注

    關注

    7

    文章

    3752

    瀏覽量

    64237
  • Oracle
    +關注

    關注

    2

    文章

    286

    瀏覽量

    35086
收藏 人收藏

    評論

    相關推薦

    數據庫數據恢復—通過拼接數據庫碎片恢復SQLserver數據庫

    試圖恢復數據庫,發(fā)現有數個ndf文件大小變?yōu)?KB。 雖然NDF文件大小變?yōu)?KB,但是NDF文件在磁盤上還可能存在??梢試L試通過掃描&拼接數據庫碎片來恢復NDF文件,然后修復數據庫
    的頭像 發(fā)表于 10-31 13:21 ?108次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—通過拼接<b class='flag-5'>數據庫</b>碎片<b class='flag-5'>恢復</b>SQLserver<b class='flag-5'>數據庫</b>

    數據庫數據恢復Oracle ASM實例無法掛載的數據恢復案例

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

    oracle數據恢復Oracle數據庫打開報錯的數據恢復案例

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

    Oracle數據恢復—異常斷電后Oracle數據庫報錯的數據恢復案例

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

    數據庫數據恢復Oracle數據庫文件system01.dbf損壞的數據恢復案例

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

    數據庫數據恢復—SQL Server數據庫出現823錯誤的數據恢復案例

    SQL Server數據庫故障: SQL Server附加數據庫出現錯誤823,附加數據庫失敗。數據庫沒有備份,無法通過備份恢復數據庫
    的頭像 發(fā)表于 09-20 11:46 ?265次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—SQL Server<b class='flag-5'>數據庫</b>出現823錯誤的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    Oracle數據恢復Oracle數據庫delete刪除的數據恢復方法

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

    Oracle數據恢復Oracle刪除數據不用怕!這些數據恢復方法了解一下

    相信有很多oracle數據庫用戶都遇到過在操作Oracle數據庫時誤刪除某些重要數據的情況,這個時候如果
    的頭像 發(fā)表于 07-19 16:40 ?443次閱讀

    數據庫數據恢復—SQL Server數據庫所在分區(qū)空間不足報錯的數據恢復案例

    SQL Server數據庫數據恢復環(huán)境: 某品牌服務器存儲中有兩組raid5磁盤陣列。操作系統層面跑著SQL Server數據庫,SQL Server
    的頭像 發(fā)表于 07-10 13:54 ?415次閱讀

    數據庫數據恢復—raid5陣列上層Sql Server數據庫數據恢復案例

    數據庫數據恢復環(huán)境: 5塊硬盤組建一組RAID5陣列,劃分LUN供windows系統服務器使用。windows系統服務器內運行了Sql Server數據庫,存儲空間在操作系統層面劃分
    的頭像 發(fā)表于 05-08 11:43 ?467次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—raid5陣列上層Sql Server<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    Oracle數據恢復Oracle數據庫truncate表的數據恢復案例

    北京某國企客戶Oracle 11g R2數據庫truncate table CM_CHECK_ITEM_HIS,表
    的頭像 發(fā)表于 03-11 17:30 ?346次閱讀
    <b class='flag-5'>Oracle</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數據庫</b><b class='flag-5'>誤</b><b class='flag-5'>truncate</b>表的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復Oracle數據庫ASM實例無法掛載的數據恢復案例

    oracle數據庫ASM磁盤組掉線,ASM實例不能掛載。數據庫管理員嘗試修復數據庫,但是沒有成功。
    的頭像 發(fā)表于 02-01 17:39 ?455次閱讀
    【<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>】<b class='flag-5'>Oracle</b><b class='flag-5'>數據庫</b>ASM實例無法掛載的<b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    數據庫數據恢復—未開啟binlog的Mysql數據庫數據恢復案例

    mysql數據庫數據恢復環(huán)境: 本地服務器,windows server操作系統 ,部署有mysql單實例,數據庫引擎類型為innodb,獨立表空間,無
    的頭像 發(fā)表于 12-08 14:18 ?1062次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>—未開啟binlog的Mysql<b class='flag-5'>數據庫</b><b class='flag-5'>數據</b><b class='flag-5'>恢復</b>案例

    oracle數據庫的基本操作

    Oracle數據庫是一種關系數據庫管理系統(RDBMS),廣泛應用于企業(yè)級應用中。它具有強大的功能和靈活的配置選項,可以滿足復雜的數據處理需求。本文將介紹
    的頭像 發(fā)表于 12-06 10:14 ?641次閱讀