症状描述:
Oracle的启动文件spfile并不是文本文件,当用文本文件工具修改保存后文件就被损坏了,oracle无法再正常启动。
启动oracle显示正常,但连接时提示:
Ora-01034:oracle not available
Ora-27101:shared memory realm does not exist
处理方法:
(以以假设数据库实例名为zhp,oracle的目录为E:/oracle9)
办法一:在dos窗口输入sqlplus
请输入用户名: sys/sys@zhp as sysdba
已连接到空闲例程。
SQL> startup pfile='E:/oracle9/admin/zhp/pfile/init.ora.2142008191855'
ORACLE 例程已经启动。
Total System Global Area 135339604 bytes
Fixed Size 454228 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL>
SQL> conn sys/sys@zhp as sysdba;
Connected to Oracle9i Enterprise Edition Release 9.2.0.8.0
Connected as SYS
SQL> create spfile='c:/spfile.ora' from pfile='E:/oracle9/admin/zhp/pfile/init.ora.2142008191855';
Done
SQL>
把生成的c:/spfile.ora拷到E:/oracle9/database,改名为:SPFILEZHP.ORA
正常启动oracle即可。
办法二:
当用方法一无法启动时,有时需要先删除E:/oracle9/database/SPFILEZHP.ORA,然后再用方法一处理。
方法三:根据SPFILEZHP.ORA手工编辑成pfile文件。(未测试过)
方法四:根据E:/oracle9/admin/zhp/bdump/alert_zhp.log,手工编辑成pfile文件。(未测试过)