在优化数据库的过程中,做了一个意外操作,最终导致出现:“已请求写入SPFILE,但是在启动时未指定SPFILE”的错误。那么应该如何解决呢?
由于在做操作之前已经将SPFILE进行了备份,备份命令采用了create pfile from spfile;
出现这个错误时,执行了一下show parameter spfile;结果发现value字段值为空或者如下:
SQL> show parameters spfile;
NAME TYPE
------------------------------------ ----------------------
VALUE
------------------------------
spfile string
正常情况下应该显示:
SQL> show parameters spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE\PRODUCT\10.2.0\DB_1\
DATABASE\SPFILECW.ORA
那么出现这个问题我们应该如何解决呢?
解决方法如下:
一、确保D:\oracle\product\10.2.0\db_1\dbs下没有与SPFILE字眼相关的文件,如果有的话,将其备份到其他位置。
二、执行create spfile from pfile;
三、执行 shutdown immediate;
四、执行startup命令
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1332348 bytes
Variable Size 229288836 bytes
Database Buffers 377487360 bytes
Redo Buffers 4259840 bytes
数据库装载完毕。
数据库已经打开。
五、执行show parameters spfile
SQL> show parameters spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string D:\ORACLE\PRODUCT\10.2.0\DB_1\
DATABASE\SPFILECW.ORA