日期:2014-05-16  浏览次数:20929 次

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

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

不解。。
------解决方案--------------------
你得专门去看看oracle的内存结构,这个对于理解oracle是很重要的。大小是要设置的,安装时的默认设置是很小的,肯定不符合服务器的要求。具体怎么设置,你需要明白oracle内存结构,必须的。 

不过,连接慢,未必是内存的原因,这个要看的。你可以看看是不是连接已经超过上限了,出现连接不上的情况。可以看看oracle的alert.log,看看有什么情况 。
------解决方案--------------------
32位,默认支持1.6g的sga,对于大内存的系统来说,确实是一个瓶颈
------解决方案--------------------
不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值
SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granule为单位来进行内存动态分配的
------解决方案--------------------
引用:
引用:
不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值
SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,这个时候是以granule为单位来进行内存动态分配的
我不是dba哈。。那请问sql serv……

我没折腾过sql server
这个问题你可以去sql server版提问
应该有答案哈
------解决方案--------------------
引用:
引用:
引用:引用:
不是,否则要DBA干吗!最好还是设置几个主要的内存参数,保证这些内存的分配不低于设定值
SGA中是以granule为单位来分配内存的,10g以后有内存动态分配,假如Oracle发现现在shared pool 要扩展,要从db cache 中挪用内存时,……

一言难尽啊
SGA是Oracle的交易场所
你多查点资料吧