【故障处理】使用GC调整数据库为SGA自动管理后导致实例无法启动(ORA-00824)

今天在一套RAC测试数据库中出现了ORA-00824错误,导致一个节点在shutdown数据库后无法启动。
经分析,问题原因出在参数调整不全面上。问题出现在使用GC(Oracle Grid Control)将RAC一个节点调整为SGA自动管理后,由于遗留了db_block_buffers(该参数在10g中已经过时,需要替换为db_cache_size)参数导致数据库在启动时报“ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information”错误。

1.问题现象
SQL> startup
ORA-00824: cannot set sga_target due to existing internal settings, see alert log for more information

2.问题原因及处理方法
MOS中的“Startup of Instance fails with ORA-00824 Error [ID 279243.1]”文章全面的描述了这个问题的原因和处理方法,附录在此,供大家参考。

 

  Modified 08-OCT-2008     Type PROBLEM     Status PUBLISHED  

In this Document
  Symptoms
  Cause
  Solution


Applies to:

Oracle Server - Enterprise Edition - Version: 10.2.0.1 to 10.2.0.1
This problem can occur on any platform.

Symptoms

Startup of 10g Database Instance fails with ORA-00824 Error

SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup
ORA-00824: cannot set sga_target due to existing internal settings

Cause

If you enable automatic SGA Management by setting SGA_TARGET >0 and also have db_block_buffers(Obsolete parameter) in your parameter file (pfile/spfile)

Startup of Database fails with ORA-00824 Error

Solution

A) Either you need to disable the Automatic SGA Mangement by setting SGA_Target=0

==OR==

B) Replace the db_block_buffers parameter with db_cache_size parameter

1. Create pfile using spfile if you do not have a pfile for this database
        sqlplus "/ as sysdba"
        create pfile from spfile;
2. Edit parameters needed to be changed.
3. Start sqlplus and connect / as sysdba
4. Issue startup pfile = ''
5. Create spfile from pfile.



3.小结
这个问题出现是比较偶然的,但也是危险的,如果有朋友使用GC做内存参数调整时千万要注意。生产数据库的调整尽量不要使用GC完成。

Good luck.

secooler
10.06.29

-- The End --

请使用浏览器的分享功能分享到微信等