天天看点

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后启动可能会报错