还原现场描述:因工作需要,对ORACLE做72小时测试。中间件采用TOMCAT,并且分别对ORACLE和TOMCAT的资源进行监控,为ORACLE分配的SGA为900M maxSGA为1G 可是测试时间结束以后,当看ORACLE内存监控的时候,却发现ORACLE的内存在某一时间段已经达到了1.7G这就是我想问各位DBA的问题,
ORACLE10G可以自动扩大其内存并且超越MAXSGA所设定的参数值么???在线等待。。希望有好心人为我排忧解惑
ORACLE10G可以自动扩大其内存并且超越MAXSGA所设定的参数值么???在线等待。。希望有好心人为我排忧解惑
楼主可以看看这个帖子http://www.itpub.net/viewthread.php?tid=1148095&extra=&page=1
不可以,10g 以后可以通过SGA_TARGET 这个参数来动态的调整SGA内部大小,但是不能超过SGA_MAX_SIZE 指定的值,我怀疑你看到的不是SGA的大小,而是ORACLE 进程占用资源的大小..------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716
http://topic.csdn.net/u/20100104/17/38ad1bed-0187-490b-bac9-210410ab64e2.html参考一下这个帖子 问题和你差不多 前几天论坛上一个朋友刚问的
最后好像是通过升级解决了
1.实质上我看到的并不是SGA的增加(SGA即使增加也是不会超过MAX的)
2.增加到1.7G是ORACLE进程占用系统内存,和连接数session有关系。
3.当有连接产生的时候,Oracle会为每个session分配sort_area_size,当一个session连接到oracle并且做排序连接的时候,oracle使用内存的数量会增加,但每次不一定增加 4m,排序完成后,oracle不会下降,只有退出的时候才会释放.所以内存只能增大
4.我的服务器是用的TOMCAT,当一个请求过来需要TOMCAT-JVM-ORACLE 当大量并发造成TOMCAT连接池满以后,JVM实际上的连接数已经中断,但是ORACLE里的SESSION却依然存在,然后不断增加。。造成现在的局面
请各位大虾看看我分析的有没有道理,,,有错误就说谢谢大家。
差不多, 每一个月数据库的连接都会产生一个session,就会占用一定的资源,如果连接过多,就会占用很多的资源,当session释放以后这些资源就会释放,假如由于某些原因,造成session没有释放,那么相关session占用的资源也就不会释放。
------------------------------------------------------------------------------
Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx
Q Q 群:62697716