1. 準備工作
把舊的ORACLE所有文件都COPY備份下來,刪除舊目錄,再重新安裝ORACLE,目錄和舊目錄一樣(如果不一樣,要修改的地方比較多).只安裝ORACLE,不創建數據庫。要恢復的實例爲ORCL 。
2.用命令方式,通過要舊的ORA文件創建新的實例ORCL
a) oradim -new -sid ORCL(創建實例)
提示:實例已創建。
b) set ORACLE_SID=ORCL(指定實例)
c) sqlplus /as sysdba (用sysdba登陸)
提示:SQL*Plus: Release 10.2.0.1.0 - Production on 星期六 2月 7 22:54:32 2009
Copyright (c) 1982, 2005, Oracle. All rights reserved.
已連接到空閒例程。
d) startup (啓動數據庫)
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'D:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/INITORCL.ORA'
e) 把原目錄下的INITORCL.ORA複製到提示的路徑下.再次startup
f) startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file 'D:/oracle/product/10.2.0/db_1/dbs/spfileORCL.ora'
ORA-27041: unable to open file
OSD-04002: ????????????
O/S-Error: (OS 2) ??????????????????????
g) 用舊目錄下的spfileorcl.ora複製到提示路徑下。
3.新建對應的目錄結構
用記事本或者其他文本工具打開spfileorcl.ora文件,根據該文件中記錄的目錄新建對應的目錄。
4.複製舊ORADATA中的文件到新建的目錄中
包括數據文件、日誌文件和控制文件(包括其他路徑下的表空間,以前有的都按同樣的路徑複製過來,如果你需要恢復的數據在這些數據文件中。)
5.通過不斷的啓動數據庫來檢查表空間
a) Sqlplus /nolog
b) Connect /as sysdba
c) Startup(若是提示已啓動,先執行shutdown,然後startup)。
d) 如果提示找不到或者表空間錯誤,記下提示出錯的數據文件(表空間)路徑信息,執行命令“alter database datafile '出錯表空間完整路徑信息' offline drop;”,把該空間刪掉。
e) alter database open;
f) 如果還有錯誤的表空間,就重複以上兩個步驟。
g) Startup(若是聽說已啓動,先執行shutdown,然後startup)。
數據恢復成功。
6.新建tns標識文件
可以直接將以前的network/admin/tnsnames.ora文件複製到新庫中去即可。這樣就可以用pl/sql等工具連接你以前的數據用戶了。