系统环境:Windows server 2008 R2  

数据库版本:oracle 11.2.0.1 RAC

给客户检查数据库时发现客户系统配置的128G内存利用率很低,所以想调大一下内存,所以设置了一下几个参数。

SQL>alter system set memory_max_target=83200Mscope=spfile;

SQL>alter system set memory_ target=76800Mscope=spfile;

SQL>alter system set sga_target=70400Mscope=spfile;

SQL>alter system set pga_aggregate_target=12800Mscope=spfile;

设置完成后,然后数据库重启startup启动不起来,报错如下:

ORA-00838: Specified value of MEMORY_TARGETis too small, needs to be 83200M

根据报错信息看出,MEMORY_TARGET设置小了,因为设置了SGA,PGA,则表示是最低分配值,PGA+SGA >MEMORY TARGET ,所以提示内存不足。

由于数据库已经关闭,所以只能更改pfile文件了。此时查看pfile文件,发现没有什么内容,重新创建一个pfile文件。

SQL> Create pfile=’d:/app/oracle/product/initorcl2.ora’from spfile=’+data/orcl/spfile.ora’;

修改initorcl2.ora文件,将pgasga设置为0,然后

startup pfile=' d:/app/oracle/product/initorcl2.ora'

此时数据库启动起来了。然后再创建spfile文件。