SGA_MAX_SIZE设置过大,超过MEMORY_TARGET值,数据库无法启动,导致ora-00844和ora-00851错误

Posted marco2752

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SGA_MAX_SIZE设置过大,超过MEMORY_TARGET值,数据库无法启动,导致ora-00844和ora-00851错误相关的知识,希望对你有一定的参考价值。

解决方案
用备用的pfile文件生成新的spfile文件,
pfile文件位置:  Administratoradminorclpfile
spfile文件位置:Administratorproduct11.2.0dbhome_1database
而spfile内容有二进制数据,不能直接修改,因而只能通过pfile去生成新的spfile,生成直接修改pfile的memory_target值。
过程如下:
1,先用备用的pfile启动oracle
c:/>sqlplus /nolog
 
SQL>conn /as sysdba
 
SQL>startup pfile=‘D:appAdministratoradminorclpfileinit.ora.1023201294648‘
这一步注意pfile的位置,一般11g的都是以数字结尾,应该能在上述目录找到,这个文件本来就是备用的。
通过上述方式应该能启动起来。
 
2,重新创建spfile
SQL>create spfile from pfile=‘D:appAdministratoradminorclpfileinit.ora.1023201294648‘;
 
3,重启数据库
SQL>shutdown  immediate;
SQL>startup
这一步能启动就好了

以上是关于SGA_MAX_SIZE设置过大,超过MEMORY_TARGET值,数据库无法启动,导致ora-00844和ora-00851错误的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

Oracle 启动失败,错误 “SGA_MAX_SIZE 5368709120 cannot be set to more than MEMORY_TARGET 1593835520.”

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory

ORA-27102:out of memory Linux-x86_64 Error: 12: Cannot allocate memory