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

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

3天內不再提示

數(shù)據(jù)庫數(shù)據(jù)恢復-Oracle數(shù)據(jù)庫truncate table數(shù)據(jù)恢復案例

Frombyte ? 來源:Frombyte ? 作者:Frombyte ? 2023-09-11 15:30 ? 次閱讀

Oracle數(shù)據(jù)庫故障&分析:
北京某單位Oracle 11g R2數(shù)據(jù)庫誤執(zhí)行truncate table CM_CHECK_ITEM_HIS,表數(shù)據(jù)丟失,查詢該表時報錯。數(shù)據(jù)庫備份無法使用,表數(shù)據(jù)無法查詢。
Oracle數(shù)據(jù)庫Truncate數(shù)據(jù)的機理:執(zhí)行Truncate命令后,ORACLE數(shù)據(jù)庫會在數(shù)據(jù)字典和SegmentHeader中更新表的DataObjectID,但是不會修改實際數(shù)據(jù)部分的塊。Truncate數(shù)據(jù)會導致數(shù)據(jù)字典和SegmentHeader的DATA_OBJECT_ID與后續(xù)的數(shù)據(jù)塊中的不一致,ORACLE服務進程在讀取全表數(shù)據(jù)時就不會讀取到已經(jīng)被TRUNCATE的記錄,實際數(shù)據(jù)其實并沒有被覆蓋。

Oracle數(shù)據(jù)庫數(shù)據(jù)恢復過程:
為了保護用戶隱私和數(shù)據(jù)安全,我們沒有將恢復該oracle數(shù)據(jù)庫數(shù)據(jù)的過程演示出來,北亞企安數(shù)據(jù)恢復工程師還原了和該案例相同的oracle故障環(huán)境,用來演示如何恢復Oracle數(shù)據(jù)庫Truncate數(shù)據(jù)。
1、通過Scott用戶創(chuàng)建表emp1,連續(xù)復制emp表多次,總記錄數(shù)為7340032條。truncate表emp1,之后沒有進行任何增刪改的操作。經(jīng)過查詢,Oracle數(shù)據(jù)庫中表emp1的記錄為0條。

wKgZomT-wYiAZnwEAAKknzrcJUw688.png

北亞企安數(shù)據(jù)恢復——Oracle數(shù)據(jù)庫數(shù)據(jù)恢復



2、分析system表空間文件,找到truncate表(表emp1)的原始數(shù)據(jù)所在的位置。

wKgZomT-wZiAR7DbAAnpXm6EkUA438.png

北亞企安數(shù)據(jù)恢復——Oracle數(shù)據(jù)庫數(shù)據(jù)恢復



3、解析表emp1所在的數(shù)據(jù)文件,找到truncate的數(shù)據(jù)。
4、將truncate的數(shù)據(jù)插入到數(shù)據(jù)庫中。

Oracle數(shù)據(jù)庫數(shù)據(jù)恢復結果:
解析system01.dbf文件,找到truncate的數(shù)據(jù)所在的位置,找到被刪除的數(shù)據(jù)。解析truncate表所在的數(shù)據(jù)文件,將truncate的數(shù)據(jù)插入到數(shù)據(jù)庫中。
這時在oracle數(shù)據(jù)庫中查找被truncate的表,發(fā)現(xiàn)數(shù)據(jù)已經(jīng)回來了,備份數(shù)據(jù)。

wKgZomT-waaAJ0JuAAMWJDb0XR4159.png

北亞企安數(shù)據(jù)恢復——Oracle數(shù)據(jù)庫數(shù)據(jù)恢復



Exp導出scott用戶。

pYYBAGNWDTGAVhhJAAO5VCXb7-M589.png

北亞企安數(shù)據(jù)恢復——Oracle數(shù)據(jù)庫數(shù)據(jù)恢復

審核編輯 黃宇

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

    評論

    相關推薦

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

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

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

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

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

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

    數(shù)據(jù)庫數(shù)據(jù)恢復—SQL Server數(shù)據(jù)庫出現(xiàn)823錯誤的數(shù)據(jù)恢復案例

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

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

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

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

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

    數(shù)據(jù)庫數(shù)據(jù)恢復—raid5陣列上層Sql Server數(shù)據(jù)庫數(shù)據(jù)恢復案例

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

    Oracle數(shù)據(jù)恢復Oracle數(shù)據(jù)庫truncate表的數(shù)據(jù)恢復案例

    北京某國企客戶Oracle 11g R2數(shù)據(jù)庫truncate table CM_CHECK_ITEM_HIS,表數(shù)據(jù)丟失,業(yè)務查詢到
    的頭像 發(fā)表于 03-11 17:30 ?331次閱讀
    <b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—<b class='flag-5'>Oracle</b><b class='flag-5'>數(shù)據(jù)庫</b>誤<b class='flag-5'>truncate</b>表的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例

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

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

    數(shù)據(jù)庫數(shù)據(jù)恢復—未開啟binlog的Mysql數(shù)據(jù)庫數(shù)據(jù)恢復案例

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

    oracle數(shù)據(jù)庫的基本操作

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

    數(shù)據(jù)庫數(shù)據(jù)恢復—MSSQL Server報錯“附加數(shù)據(jù)庫錯誤823”的數(shù)據(jù)恢復案例

    MSSQL Server數(shù)據(jù)庫比較常見的報錯是“附加數(shù)據(jù)庫錯誤823”。如果數(shù)據(jù)庫有備份,只需要還原備份即可;如果無備份或者備份不可用,則需要使用專業(yè)的數(shù)據(jù)
    的頭像 發(fā)表于 11-10 16:20 ?807次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—MSSQL Server報錯“附加<b class='flag-5'>數(shù)據(jù)庫</b>錯誤823”的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復—MySQL數(shù)據(jù)庫表誤刪除記錄的數(shù)據(jù)恢復案例

    數(shù)據(jù)庫數(shù)據(jù)恢復環(huán)境: 一臺本地windows sever操作系統(tǒng)服務器,服務器上部署mysql數(shù)據(jù)庫單實例,引擎類型為innodb,表內數(shù)據(jù)
    的頭像 發(fā)表于 11-09 15:16 ?1213次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>—MySQL<b class='flag-5'>數(shù)據(jù)庫</b>表誤刪除記錄的<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</b>案例

    數(shù)據(jù)庫數(shù)據(jù)恢復—斷電導致Oracle數(shù)據(jù)庫故障的數(shù)據(jù)恢復案例

    北京某公司一臺運行oracle數(shù)據(jù)庫的服務器,機房意外斷電導致該服務器重啟,重啟后發(fā)現(xiàn)oracle數(shù)據(jù)庫報錯。該Oracle
    的頭像 發(fā)表于 10-25 14:52 ?556次閱讀
    <b class='flag-5'>數(shù)據(jù)庫</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>恢復</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'>恢復</b>案例