oracle要账号记一次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;

 

 

建议:

以上解决方法不能从根本上解决问题,

建议一:在下次问题再次发生时立oracle账号即通知我们,立即登入数据库进行检查,诊断,以确定问题的根本原因。

建议二:设置statspack,每隔一段时间收集数据库的信息。

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。