自己用的机器内存扩展到10G,想着把oracle内存也重新分配一下,oracle11g。按照过去的思想直接修改了sga大小。
SQL> alter system set sga_max_size=2500M scope=spfile;
SQL> startup
ORA-00844: Parameter not taking MEMORY_TARGET into account
ORA-00851: SGA_MAX_SIZE 2621440000 cannot be set to more than MEMORY_TARGET 1287651328.
傻喽,上网查了一下解决方案如下:
SQL> create pfile from spfile;
File created.
手动修改init.ora 文件参数。
重新生成spfile
SQL> create spfile from pfile;
File created.
SQL> startup
正常了。。
经过这个才明白,11g的memory_target。。。
这里建议直接修改memory_target,让Oracle 自己去管理SGA 的大小(memory_target=SGA+PGA)。。