最近帮别人处理到一个问题,数据库启动的时候报错了

ORA-01078:failure in processing system parameters。    

ORA-00838:Specified value of MEMORY_TARGET is too  small  need to be lesst  M

出现问题的原因是修改ASM参数,登录错了用户,修改到了数据库里面了,这个时候数据库无法启动。

首先我们要根据spfile文件来生成pfile文件:

SQL>create pfile=‘/tmp/pfile.ora’ from spfile='路径/spfileorcl.ora'

这个路径指的是ASM里面的是spfile的路径。 

生成pfile文件之后,找到该文件,然后进入编辑模式,把里面的MEMORY_TARGET参数和MEMORY_MAX_TARGET参数这两行注释掉。

然后用新生成的pfile文件启动数据库:

startup pfile='tmp/pfile.ora';

现在数据库的spfile文件用的还是原来的,所以我们需要把spfile文件也重新生成一下,

先进入ASMCMD,找到spfileorcl.ora的路径,执行ls- l 查看一下spfile的指定路径,这个路径要记一下,后面会用到

接着在ASMCMD里面,删掉原来的spfileorcl.ora

然后根据之前新生成的pfile文件来重新生成spfile文件

create spfile='路径/' from  pfile='/tmp/pfile.ora'

这个路径指的是磁盘组  +DATA就可以,具体的根据自身的实际情况来写

然后进入ASMCMD,找到新生成的spfiel.ora文件,然后给该文件指定路径

mkalis 指定路径   spfile.ora(指定路径指的是上面查看到的路径)

指定完之后,最好ls -l 检查一下,确认无误之后重启数据库。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐