造成无法启动的原因有很多,比如修改了什么参数,误删了什么配置文件等,当然你要确信并不是特别严重的问题,也就是说,是通过正确的操作导致的问题的。比如我就遇到了下面的这样的问题,我调整Oracle的sort_area_size等大小来着,设的太大了,导致Oracle无法启动了。报如下错误:
ORA-27102: out of memory
OSD-00029: ????????????
O/S-Error: (OS 8) ??????????????????????????????
解决办法是重新创建它的动态参数文件。
本身它会有一个这样的文件,存放在D:\oracle\product\10.2.0\admin\SID\pfile\init.ora.192009134459文件里。找到它用它来恢复你做过的设置。
我们做的工作就是用这个静态参数文件启动数据库,然后,再同步动态参数文件,因为现在已经无法启动数据库,所以可以这样做:
第一步.在CMD下 set oracle_sid=你的SID
第二步,以sqlplus /as sysdba登陆数据库。会提示“已连接到空闲例程”。
第三步,startup pfile=D:\oracle\product\10.2.0\admin\SID\pfile\init.ora.192009134459。也就是用开始那个文件启动数据库。
第四步,create spfile from pfile='D:\oracle\product\10.2.0\admin\SID\pfile\init.ora.192009134459',来同步动态参数。
第五步,shutdown immediate。关闭数据库。
第六步,startup。启动数据库。如果能看到类似如下的信息,那么恭喜你了。
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 167775108 bytes
Database Buffers 436207616 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
数据库已经打开。
如果没有成功的话,就查一下,看看这个新的spfile文件生成到哪里去了。或者再仔细看一下上面的步骤,分析一下原因。
眼镜蛇