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

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