環境: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後啟動可能會報錯