经分析,问题原因出在参数调整不全面上。问题出现在使用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.1This problem can occur on any platform.
Symptoms
Startup of 10g Database Instance fails with ORA-00824 ErrorSQL> 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 --