重庆oracle认证培训机构

新闻分类

产品分类

热门关键词

联系我们

企业名称:重庆赛烽达科技有限公司

联系人:程老师

手机:13372708242

邮箱:xqzhang@saifengda.com

网址:www.cqora.com

地址:重庆石桥铺高创锦业17-3

重庆oracle培训-查看 oracle sga使用情况,及分析Oracle

您的当前位置: 首 页 >> 新闻资讯 >> 常见问题

重庆oracle培训-查看 oracle sga使用情况,及分析Oracle

发布日期:2018-09-13 作者: 点击:

重庆oracle ocp培训-查看 oracle sga使用情况,及分析Oracle


select round(sga,0) sga,

round(cache_size,0) cache_size,

round(coun/cache_size*100,0)||'%' cache_used,

round(shared_size,0) shared_size,

round(freemb/shared_size*100,0)||'%' free_shared,

round(java_size,0) java,

round(large_pool_size,0) large,

round(log,0) logk

from 

(select value/1024/1024 sga from v$parameter where name='sga_max_size'),

(select value/1024/1024 shared_size from v$parameter where name='shared_pool_size'),

(select value/1024/1024 cache_size from v$parameter where name='db_cache_size'),

(select value/1024/1024 java_size from v$parameter where name='java_pool_size'),

(select value/1024/1024 large_pool_size from v$parameter where name='large_pool_size'),

(select value/1024 log from v$parameter where name='log_buffer'),

(select bytes/1024/1024 freemb from v$sgastat s where s.pool='shared pool' and s.name='free memory'),

(select sum(count(*))*8/1024 coun from v$bh where status<>'free' group by status );


注:

sga:系统全局区大小

cache_size:数据缓冲区大小

shared_size:共享缓冲区大小

cache_used:数据缓冲区使用率

free_shared:共享缓冲区空闲率

上面的均以MB为单位

logk:日志缓冲区大小(以KB为单位)


分析:

上面的 数据缓冲区使用率统计可能会不太精确,你会发现当没有v$bh视图里状态没有free的时候使用率,也就是全被用的时候,使用率也不是100%.

如果看更详细的数据缓冲区使用情况可以用下面的sql,我们可以主要看是否有free,关于v$bh视图可以去网上找找相关文章.

select count(*), status from v$bh group by status ;

没有free不一定说明需要增加,还要结合当前cache_size的大小,缓冲区命中率,等待事件(如:free buffer waits')来判断是否需要增加大小,但多数的时候添加缓冲区的大小不会解决质的问题,而真正的问题主要是对sql语句的优化(如:是否存在大量的全表扫描等),.

我在生产中遇到过类似的问题,200M的cache_size,命中率很低21%,但通过对sql语句的优化(添加索引,避免全表扫描),命中率增加到96%,程序运行时间由原来的2小时减少到不到10分钟.



++++++++++++++++++++++


Select 1 - (Phy.Value / (Cur.Value + Con.Value)) "HIT RATIO"   from V$sysstat Cur,  V$sysstat  Con, V$sysstat Phy

Where Cur.Name = 'db block gets'   and Con.Name = 'consistent gets'   and Phy.Name = 'physical reads';


调整原则:

  命中率不应该低于90%.

  如果该值过低,应该调高初始化参数。8i调整db_block_buffer,9i调整db_cache_size。



+++++++++++++++++++++


Dictionary cache命中率检查

  检查语句: 



SELECT 1 - (SUM(getmisses)/SUM(gets)) "Data Dictionary Hit Ratio" FROM v$rowcache;


调整原则:

  命中率不应该低于95%.

  如果该值过低,应调高shared_pool_size的大小。



+++++++++++++++++++++


Library cache命中率检查


SELECT 1-(SUM(reloads)/SUM(pins)) "Library cache Hit Ratio" FROM v$librarycache;


调整原则:

  命中率不应该低于99%.

  如果该值过低,应调高shared_pool_size的大小。


+++++++++++++++++++++


Log buffer命中率检查

  检查语句: 



 select (req.value*5000)/entries.value "Ratio"

  from v$sysstat req, v$sysstat entries

  where req.name = 'redo log space requests'

  and entries.name = 'redo entries';



 调整原则:

  命中率不应该高于1.

  如果该值过高,应调高log_buffer的大小。


本文网址:http://www.cqora.com/news/560.html

关键词:

最近浏览:

相关产品:

相关新闻:

报名咨询

点击咨询报名

赛烽达QQ群

赛烽达技术群

程老师

xxxxxxxxxx

加微信咨询

张老师微信.jpg

xqzhang@saifengda.com