事前准备工作:
把旧的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!!