Oracle10g 原来可以自动增加内存

rock_0512 2010-01-14 03:18:35
还原现场描述:

因工作需要,对ORACLE做72小时测试。中间件采用TOMCAT,并且分别对ORACLE和TOMCAT的资源进行监控,

为ORACLE分配的SGA为900M maxSGA为1G

可是测试时间结束以后,当看ORACLE内存监控的时候,却发现ORACLE的内存在某一时间段已经达到了1.7G

这就是我想问各位DBA的问题,


ORACLE10G可以自动扩大其内存并且超越MAXSGA所设定的参数值么???

在线等待。。希望有好心人为我排忧解惑。。。
...全文
382 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
rock_0512 2010-01-18
  • 打赏
  • 举报
回复
结合各位朋友的思想,自己研究了一下,感觉有点眉目了,
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却依然存在,然后不断增加。。造成现在的局面


请各位大虾看看我分析的有没有道理,,,有错误就说。。。谢谢大家。
Dave 2010-01-18
  • 打赏
  • 举报
回复

差不多, 每一个月数据库的连接都会产生一个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
wh62592855 2010-01-15
  • 打赏
  • 举报
回复
wh62592855 2010-01-15
  • 打赏
  • 举报
回复
你看到的ORACLE内存除了SGA中的内容外包含了其他一些东西的
http://topic.csdn.net/u/20100104/17/38ad1bed-0187-490b-bac9-210410ab64e2.html

参考一下这个帖子 问题和你差不多 前几天论坛上一个朋友刚问的
最后好像是通过升级解决了
rock_0512 2010-01-15
  • 打赏
  • 举报
回复
非常感谢各位帮忙的好心人。。
rock_0512 2010-01-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 tianlesoftware 的回复:]
引用楼主 rock_0512 的回复:
ORACLE10G可以自动扩大其内存并且超越MAXSGA所设定的参数值么???



不可以,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
[/Quote]
对对对,,,高人,能再说的详细一点么,在下是菜鸟,他们两者有什么区别 么??能不能再说的详细一点啊。。。谢谢指教
Dave 2010-01-14
  • 打赏
  • 举报
回复
[Quote=引用楼主 rock_0512 的回复:]
ORACLE10G可以自动扩大其内存并且超越MAXSGA所设定的参数值么???

[/Quote]

不可以,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
fly2749 2010-01-14
  • 打赏
  • 举报
回复
貌似32位的机器对maxsga的限制在1.7g。
楼主可以看看这个帖子http://www.itpub.net/viewthread.php?tid=1148095&extra=&page=1
rock_0512 2010-01-14
  • 打赏
  • 举报
回复
我看了一下监测的数据 在某一时段ORACLE 内存已经达到1.7G了。。。NND这个问题必须弄明白呀。。帮帮我吧。。。各位好心人
Blaider 2010-01-14
  • 打赏
  • 举报
回复
应该不会超过吧,是不是Oracle也有类似于“虚拟内存”一样的东西在
rock_0512 2010-01-14
  • 打赏
  • 举报
回复
我对ORACLE是初步了解,所以有些问题认识得不深刻。。。

那如果我想把ORACLE的内存限制在1G以内会有什么办法呢?

麻烦说的详细点。。。
wuyisky84 2010-01-14
  • 打赏
  • 举报
回复
oracle 的内存大小 就只是SGA 的内存大小么?

还有很多很多其它的占用内存的东西

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧