事前準備工作:
把舊的ORACLE所有檔案都COPY備份下來,刪除舊目錄,再重新安裝ORACLE,目錄和舊目錄一樣(如果不一樣,要修改的地方比較多).
只安裝ORACLE,不建立資料庫,如果已經建立了資料庫,
用" 開始 ==>所有程式==>Oracle - OraDb10g_home1==>Database Configuration Assistant" 刪除掉.
我的資料庫的執行個體名為HWDB,下面為整個恢複過程
開始
C:/Documents and Settings/gxlineji>oradim -new -sid HWDB
執行個體已建立。
C:/Documents and Settings/gxlineji>set ORACLE_SID=HWDB
C:/Documents and Settings/gxlineji>sqlplus "/as 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.
已串連到空閑常式。
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: ???????????????? 'E:/ORACLE/PRODUCT/10.2.0/DB_1/DATABASE/INITHWDB.ORA'
把原目錄下的INITHWDB.ORA複製到提示的路徑下INITHWDB.ORA.再次startup,
SQL> startup
ORA-01078: failure in processing system parameters
ORA-01565: error in identifying file 'E:/oracle/product/10.2.0/db_1/dbs/spfileHWDB.ora'
ORA-27041: unable to open file
OSD-04002: ????????????
O/S-Error: (OS 2) ??????????????????????
用舊目錄下的spfileHWDB.ora,代替現有的spfileHWDB.ora檔案.再startup,OK大功告成!
SQL> startup
ORACLE 常式已經啟動。
Total System Global Area 314572800 bytes
Fixed Size 1248768 bytes
Variable Size 83886592 bytes
Database Buffers 222298112 bytes
Redo Buffers 7139328 bytes
資料庫裝載完畢。
資料庫已經開啟。
SQL> conn scott/tiger
已串連。
現在可以串連ORACLE了,但有一個缺點,就是每次串連前都要設定環境變數ORACLE_SID,使用的DOS命令:SET ORACLE_SID=HWDB
為了省去這個麻煩,必須配置環境變數.
將以下內容保持成一個尾碼名為reg的檔案(檔案名稱隨便起),然後雙擊,即可將資訊匯入到註冊表中。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINESOFTWAREORACLE]
"ORACLE_SID"="HWDB"
為了確保註冊表裡的ORACLE_SID都正確設定了,可以搜尋註冊表,找出所有的ORACLE_SID,
如果發現有設定不正確的,將值修改為正確值("ORACLE_SID"="SID"改為"ORACLE_SID"="HWDB").
重新電腦,OK!!