最近在捣鼓oracle数据库,自学《深入浅出Oracle:DBA入门、进阶与诊断案例》,可免费提供给有兴趣的同学下载学习。脑抽抽修改了db_block_buffers的参数,结果导致数据库启动报错 ORA-00824、ORA-00842错误问题,
大概意思是说你修改了db_block_buffers 导致我SGA_TARGET或MEMORY_TARGET出现了问题,通过文档方法操作,结果还是没用
create pfile from spfile;
create spfile from pfile;
其实可以通过很多的方法,在没有备份参数文件的情况下,说是可以通过告警日志alert_orcl.log 进行恢复操作,但是这个比较麻烦,你得找到当时正常状态下的pfile文件内容copy过来,然后还得注意内容中得标点符号,我直接摒弃了。
用下面这个方法更简单快捷
可以使用数据库初始化时的pfile来启动,缺省位置为$ORALCE_BASE/admin/$ORACLE_SID/pfile
直接把pfile下面得init.ora.882022111120 文件直接拷贝到$ORACLE_HOME/dbs目录下
在sql命令下执行
具体代码
create spfile from pfile = '<dir>'
这边执行完成之后,startup可能还会提示你control文件不一致的情况,报ORA-00241
但是没关系 我们手动同步一下最新的文件 把旧的控制文件更新到最新的状态 ,根据提示进入到相应的目录,删除老的控制文件,把最新的控制文件copy到旧文件的位置
这样就可以完美解决无法启动的问题了
成功启动数据库