AUL恢復truncate刪除的表

2021-09-06 20:19:49 字數 480 閱讀 1549

背景

接到使用者申告,新畢業的兄弟不小心把資料庫中的3個關鍵表給truncate了,由於這個業務還在測試階段,系統沒有任何形式的備份。

客戶的os平台是windows平台,資料庫是oracle9207

對於這種情況,嘗試了使用aul來進行恢復。這裡解釋其中乙個表(xm_fxl)的恢復

恢復前的準備一

2.控制檔案:控制檔案aul和dul一樣,是需要乙個控制檔案(orcl.dul)來告訴它,需要恢復的檔案在什麼位置,是否有system檔案。由於原來的資料庫正常在執行(open),所以輕易的查詢的得到被truncate表所在的表空間號和相對檔案號,位置為拷貝出來的新位置。

orcl.dul

0 1

d:\boypoo\system01.dbf

1010

d:\boypoo\infdata01.dbf

恢復前的準備二

其餘的在boypoo部落格裡面.

**出處:

Truncate 表之恢復

truncate 表之恢復 1.測試環境 linux 172.28.145.21 db testdb01 2.原理 truncate 不會逐個清除使用者資料塊上的資料,而僅僅重置資料字典和元資料塊上的元資料 如儲存斷頭和擴充套件段圖 也就是說,此時,基本資料表並未破壞,而是被系統 等待被重新分配 因...

恢復truncate資料 日常小記

解壓完是乙個sql指令碼檔案 在資料庫裡執行,會建立乙個package和package body,要用sys使用者操作,以下操作均為sys使用者 然後使用如下語句執行 select file name from dba data files f,dba tables t where t.owner ...

刪除資料Delete 語句 Truncate 語句

如果想要刪除表的所有資料,truncate語句要比 delete 語句快。因為 truncate 刪除了表,然後根據表結構重新建立它,而 delete 刪除的是記錄,並沒有嘗試去修改表。這也是為什麼當向乙個使用 delete 清空的表插入資料時,mysql 會記住前面產生的autoincrement...