今天终于把困扰了一个星期的Oracle修复问题解决了,也是借鉴别人的博文,在此感谢,也记录下我的操作过程,部分引用他人的。
(1)首先是公司的虚拟机,之前Oracle是在A机上不能用了,这也就不算重装系统了吧,但是作用是一样的。不废话,接下来我在B机上装了Oracle,安装目录在此建议和原先的目录一模一样,如果不麻烦就比较麻烦,如果是重装系统,那你就把原先的Oracle的根目录给改下名字。
注意了:只安装ORACLE,不创建数据库,如果已经创建了数据库,
用" 开始 ==>所有程序==>Oracle - OraDb10g_home1==>Database Configuration Assistant" 删除掉.
(2)把原先的oradata下的你的数据库实例(SID)复制到新的安装目录的oradata下,
我的数据库的实例名为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,
(3)遇到下面的问题:
ORA-02778 : Name given for the log directory is invalid
简单,把原admin下的HWDB下的几个文件夹在你的新的admin下的HWDB重新建立,不要复制了,里面的东西都不需要的。
(4)好了,基本完成了
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").)))
以上这段是原博客博主遇到的问题,反正我没有遇到,可能和我是在B机上安装的有关系,如果你们遇到了,在此提供参考