2013-12-31 14:23:23.574191 :800079F6:db_trace:ksxp.c@3220:ksxpvsnd(): [10401:23:876] KSXPVSND: client 2 tid(1,257,0x19befaa1) buf 0x2a7800cc8 sz 128
2013-12-31 14:23:23.575912 :80007A0A:db_trace:ksxp.c@4354:ksxpwait(): [10401:23:876] KSXP_SND_CALLBACK: request 0x2b294941dd98, status 30
2013-12-31 14:23:23.575915 :80007A0B:db_trace:ksxp.c@4382:ksxpwait(): [10401:23:876] KSXPWAIT: Send compl suppressed and No requests. proc 0x2a4e3c9c8 haswrk 0
分析:
这是Oracle的一个BUG,就如Oracle错误提示所说的,此时spfile无法扩展空间,造成不能修改参数值或者增加新的参数。
解决方法:
重建spfile,重建步骤:
create pfile='' from spfile='';
再根据pfile创建spfile:
create spfile from pfile='';
其实从mmon进程的dump信息,我们可以看到在DB启动的过程中(准确的说是在NOMOUNT阶段),MMON会查询v$*_advice系列内存建议视图,获得各个内存池的建议大小信息,之后再做2个事情:
1.将查询到的建议值修改到spfile中(因此时spfile不能扩展大小,所以报错ORA-00600)。
2.根据查询到的建议值去初始化各个内存池大小。