懂oracle的sga来看看?

softneo 2012-12-04 03:10:45
最近公司的客户反应我们的WMS在32系统上出现连接很慢的情况。今天领导叫我看看oracle的sga什么的,说是什么oracle有个内存限制,要我试试64位的oracle能否把sga_target设置成4G的并正常运行。

查了些资料,都是说怎么设置什么的,也不明白为什么要设置。
这个sga难道不是oracle自动分配么?难道还要像分配内存一样,给它个大小?

不解。。
...全文
145 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
linwaterbin 2012-12-05
  • 打赏
  • 举报
回复
引用 8 楼 Huang__Xiao 的回复:
引用 6 楼 linwaterbin 的回复: 引用 5 楼 Huang__Xiao 的回复:引用 4 楼 linwaterbin 的回复: 不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,……
一言难尽啊 SGA是Oracle的交易场所 你多查点资料吧
softneo 2012-12-05
  • 打赏
  • 举报
回复
引用 6 楼 linwaterbin 的回复:
引用 5 楼 Huang__Xiao 的回复:引用 4 楼 linwaterbin 的回复: 不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granul……
设置sga的用意是什么,能说下吗?有什么好处?
softneo 2012-12-04
  • 打赏
  • 举报
回复
引用 6 楼 linwaterbin 的回复:
引用 5 楼 Huang__Xiao 的回复:引用 4 楼 linwaterbin 的回复: 不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granul……
那既然可以设置,我都设个比实际内存小点不就行了吗?干嘛折腾来折腾去的?
linwaterbin 2012-12-04
  • 打赏
  • 举报
回复
引用 5 楼 Huang__Xiao 的回复:
引用 4 楼 linwaterbin 的回复: 不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granule为单位来进行内存动态分配的 我不是dba哈。。那请问sql serv……
我没折腾过sql server 这个问题你可以去sql server版提问 应该有答案哈
softneo 2012-12-04
  • 打赏
  • 举报
回复
引用 4 楼 linwaterbin 的回复:
不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granule为单位来进行内存动态分配的
我不是dba哈。。那请问sql server里面有类似oracle这样样的吗?
linwaterbin 2012-12-04
  • 打赏
  • 举报
回复
不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值 SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granule为单位来进行内存动态分配的
softneo 2012-12-04
  • 打赏
  • 举报
回复
引用 1 楼 majy 的回复:
你得专门去看看oracle的内存结构,这个对于理解oracle是很重要的。大小是要设置的,安装时的默认设置是很小的,肯定不符合服务器的要求。具体怎么设置,你需要明白oracle内存结构,必须的。 不过,连接慢,未必是内存的原因,这个要看的。你可以看看是不是连接已经超过上限了,出现连接不上的情况。可以看看oracle的alert.log,看看有什么情况 。 ……
你的意思是说,如果sga(sga_max_size/sga_target)原本只有600M,然后这时候需要700M,不设置的话oracle不会自动扩展么?
惜分飞 2012-12-04
  • 打赏
  • 举报
回复
32位,默认支持1.6g的sga,对于大内存的系统来说,确实是一个瓶颈
majy 2012-12-04
  • 打赏
  • 举报
回复
你得专门去看看oracle的内存结构,这个对于理解oracle是很重要的。大小是要设置的,安装时的默认设置是很小的,肯定不符合服务器的要求。具体怎么设置,你需要明白oracle内存结构,必须的。 不过,连接慢,未必是内存的原因,这个要看的。你可以看看是不是连接已经超过上限了,出现连接不上的情况。可以看看oracle的alert.log,看看有什么情况 。

3,491

社区成员

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

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