pfile文件错误导致数据库实例启动失败

数据库环境:
oracle 10.2.0+windows xp
 故障描述:
在windows xp上把oracle服务和监听启动之后,在SQL*PLUS中用sysdba身份登录后,启动oracle,报如下错误:
ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated
ORA-09291: sksachk: invalid device specified for archive destination

create pfile from spfile;(默认)
create pfile('c:\\initSID.ora') from spfile(输出到指定位置)
startup pfile=c:\\initSID.ora;(启动实例)
 
错误解决:
    根据错误提示该错误产生的原因是因为参数文件中的LOG_ARCHIVE_DEST_1参数无法读取而产生这个错误。我突然想起,我的数据库本来是启动了自动归档并指定了归档日志存放地址的,即指定了LOG_ARCHIVE_DEST_1参数,但是昨天呢我一时手误把存放这个归档日志文件的文件夹给删掉了。而启动oracle数据库的过程中首先是读取参数文件从中读取初始化参数并据此启动实例和后台进程,分配内存的,由于有些参数找不到,所以就报错了,这就是此错误引起的原因。
    知道了故障根源以及缘由之后,解决方法就很简单啦。既然是参数文件中某个参数出问题了,那么就可以在参数文件中下手。此时如果数据库使用的是静态参数文件,那么可以直接在参数文件中修改LOG_ARCHIVE_DEST_1参数,保存后重新启动。如果数据库使用的是SPFILE,那么可以从SPFILE中生成PFILE,然后在PFILE中修改LOG_ARCHIVE_DEST_1参数,保存后再从PFILE中生成SPFILE,保存,重新启动即可。
故障总结:
  这参数文件的错误在数据库中时常有发生,即使意外的操作或者意外的DOWN机也可能导致参数出错,这就警告我们备份参数文件毋容置疑啊。

你可能感兴趣的:(oracle)