日期:2014-05-16 浏览次数:20554 次
?今天在启动oracle的时候,提示归档路径出了问题,因为之前归档是在h:\oracle\arc,不知道什么时候,我把这个文件夹删掉了。
启动的时候报错:
C:\>sqlplus /nolog SQL*Plus: Release 11.1.0.6.0 - Production on 星期三 10月 12 16:08:48 2011 Copyright (c) 1982, 2007, Oracle. All rights reserved. SQL> conn / as sysdba 已连接到空闲例程。 SQL> startup ORA-16032: parameter LOG_ARCHIVE_DEST_1 destination string cannot be translated ORA-09291: sksachk: invalid device specified for archive destination OSD-04018: ?????????????????????????? O/S-Error: (OS 2) ??????????????????????
?我一看,应该是由于h:\oracle\arc目录不存在造成的,但是又不想再新建这个目录,就想把归档目录移动到h:\app\arc目录下。
我找到H:\app\Administrator\product\11.1.0\db_1\database\SPFILES62.ORA,打开,将里面的一个参数做了改动:
*.log_archive_dest_1='location=h:\app\arc'
然后重新startup...
SQL> startup ORA-01078: failure in processing system parameters LRM-00109: ???????????????? 'H:\APP\ADMINISTRATOR\PRODUCT\11.1.0\DB_1\DATABASE\INITS62.ORA'
?
心想,哎呀,坏了,spfile应该是二进制文件,我手工改保存过之后肯定把文件给损坏了,但是又没有备份!
想到之前修改spfile的方法,就试一试:
SQL> create pfile from spfile; create pfile from spfile * 第 1 行出现错误: ORA-01565: error in identifying file '%ORACLE_HOME%\DATABASE\SPFILE%ORACLE_SID%.ORA' ORA-27046: file size is not a multiple of logical block size OSD-04012: ?????????????? (OS 3536)
?
发现已经不能读取spfile了,spfile已经坏了...
?
这时,找到了一个解决办法:
1. 在spfile.ora所在文件夹下面建立一个inits62.ora文件(注:s62是我的实例名,如果你的实例名是orcl,那么就是新建initorcl.ora文件)
2. 将现在的spfiles62.ora里面的参数拷贝到inits62.ora中,将乱码删掉。
3. 执行下面命令:
startup pfile='H:\app\Administrator\product\11.1.0\db_1\database\INITS62.ORA'
启动正常了。
然后执行:
SQL> create spfile from pfile; 文件已创建。
?
OK了,spfile已经修复了。
?
正确的修改spfile方法:
1. create pfile from spfile;
2. 修改pfile,即inits62.ora里面相应的参数
3. create spfile from pfile;
?
或者使用alter system set 参数=新值 scope=spfile;
?