Oracle-AUL:黑夜前的最後救贖

livedba發表於2011-01-21
今天自己測試了一下工具,在truncated表之後恢復資料,在此記錄下來。
在AUL官方網站有詳細步驟
1.建立測試用的表空間TEST,建表TEST,插入1000條資料。
2.TRUNCATE TABLE TEST後,TEST表資料全部清空。
3.在目錄中,我本地是D:oracle_dbproduct10.2.0oradataorcl,複製出來兩個檔案
SYSTEM01.DBF--系統表空間資料檔案,需要用它來確定哪個使用者,哪個表
TEST01.DBF--這個是前面建的測試表空間TEST的資料檔案,表TEST的資料還存在這裡面
4.我們需要工具AUL來恢復TRUNCATE掉的資料,下載地址:
5.新建檔案db10g.cfg,這個檔案是為了告訴AUL具體的資料檔案在哪裡,內容為:
# FILE# RFILE# NAME
0 0 D:oracle_dbproduct10.2.0oradataorclSYSTEM01.DBF
0 0 D:oracle_dbproduct10.2.0oradataorclTEST1.DBF
6.進入AUL所在目錄(資料檔案和AUL.EXE放在同一個目錄下面),在命令列輸入AUL.EXE,然後依次敲入:
UNLOAD TABLE USER$;
UNLOAD TABLE OBJ$;
UNLOAD TABLE TAB$;
UNLOAD TABLE COL$;
這樣在目錄下面會生成4個檔案
7.然後就是你需要恢復哪個表了,我的是
unload table sunwei.test to test.txt(sunwei是使用者名稱,test是表名,test.txt是資料檔案)
8,這樣會在目錄下面生成3個檔案,分別是test.txt TEST_sqlldr.ctl TEST_syntax.sql
9,開啟命令列敲入:sqlldrsunwei/sunwei@//192.168.110.218:1521/orclcontrol=TEST_sqlldr.ctl,大功告成,再到資料庫裡查詢,表test的資料已經恢復。
最後注意一點,測試版AUL能恢復的資料最大為256M。
[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25261409/viewspace-1044983/,如需轉載,請註明出處,否則將追究法律責任。

相關文章