天天看點

oracle重建spfile,oracle資料庫改壞spfile參數重新開機處理方法

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