应用服务器是weblogic6.1,数据库是Oracle的8i,是用JSP开发的,为什么有时候页面会报错:你的请求不能被执行
系统运行出现问题
ORA-04031: 无法分配 4200 字节的共享内存 ("shared pool","unknown object","sga heap","state objects")
请与系统管理员联系。 有人说因为程序写的不好,不能够很好的进行重复调用,从而导致经常性SQL编译,致使SHARED POOL内碎片太多,从而导致没有连续的SHARED POOL可以使用,引发ORA-04031;究竟是不是这个问题,应该怎样可以解决?
系统运行出现问题
ORA-04031: 无法分配 4200 字节的共享内存 ("shared pool","unknown object","sga heap","state objects")
请与系统管理员联系。 有人说因为程序写的不好,不能够很好的进行重复调用,从而导致经常性SQL编译,致使SHARED POOL内碎片太多,从而导致没有连续的SHARED POOL可以使用,引发ORA-04031;究竟是不是这个问题,应该怎样可以解决?
有人说可以把shared_pool设大点,可以设到服务器内存的1/2或1/4,是不是应该设到那么大?
oracle 会给你个建议值,但是具体情况具体分析了,你可以先设置一个值比如(1/4),运行一段时间根据观察的情况,再做调整。我觉得主要影响它的大小的有下面几个因素:
1、sql 重用率,这点很重要。
2、联入数据库的session 数量,因为 session 的一些 UGA信息存再 shared pool 中
这里有个PDF的文档,希望对你有帮助.BTW:CSDN的论坛功能实在是少