记一次ora-4031处理过程小结
记一次ora-4031处理过程小结
诊断小节
从今天11:11:43开始在alert.log中出现以下错误信息
ORA-00604: error occurred at recursive SQLlevel 2
ORA-04031: unable to allocate 1320 bytes ofshared memory ("shared pool","selecti.obj#,i.ts#,i.file#,...","sql area","kafco : qkacol")
…………..
`错误分析:
当我们在共享池中试图分配易做图的连续内存失败的时候,Oracle首先刷新池中当前没使用的所有对象,使空闲内存块合并。如果仍然没有足够大单个的大块内存满足请求,就会产生ORA-04031 错误。换句话说就是:ORA-04031错误通常是因为库高速缓冲中或共享池保留空间中的碎片引起的。
解决方法:
alter system flush shared_pool;
建议:
以上解决方法不能从根本上解决问题,
建议一:在下次问题再次发生时立即通知我们,立即登入数据库进行检查,诊断,以确定问题的根本原因。
建议二:设置statspack,每隔一段时间收集数据库的信息。