环境:oracle11g
问题:
一开始计划将SGA参数由2G调整为4G,
SQL> alter system set sga_target = 4096m scope = spfile;
重启数据库后数据库报错
ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more information
[@more@]
分析:
由于设置了Oracle的MEMORY_TARGET参数的值小于了SGA_TARGET和PGA_TARGET的总和,因此报错
解决方法:
方法一:
1. 创建pfile
sqlplus / as sysdba
Connected to an idle instance.
SQL> create pfile='/home/oracle/initora11g.ora' from spfile;
2. 修改pfile
SQL> host echo "memory_target=4096m" >> /home/oracle/initora11g.ora
3. 根据pfile启动数据库实例
SQL> startup pfile=/home/oracle/initora11g.ora
4. 根据最新配置创建spfile
SQL> create spfile from pfile='/home/oracle/initora11g.ora';
方法二:
1.创建pfile,编辑内容
spfile=/oracle/product/11.1/dbs/spfileora11g.ora ——指定spfile参数
memory_target=4096m ——调整修正参数
2. 根据pfile启动数据库实例
SQL> startup pfile=/home/oracle/initora11g.ora
3. 调整修正参数
SQL> alter system set memory_target = 4096m scope = spfile;
Oracle 11g的Linux版本在修改了MEMORY_TARGET或者SGA_TARGET后启动可能会报错