怎样调整和优化共享池 调整共享池 修改shared_pool_size参数即可。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.eygle.com/index-internal.htm 有本书 OCP Oracle9i性能调整学习指南讲了好多,去看看 调整共享池:调整共享池主要包括三方面:库高速,数据字典缓存,对话信息.数据字典缓存中的数据比库高速缓存中的数据在内存中保留的时间要长.所以只要把库高速缓存调整成可以接受的命中率即可.(i)检查,调整库高速缓存可以通过动态性能表v$librarycache来查询从实例启动以来所有库高速缓存的活动情况v$librarycache表中以下几列反映了库高速缓存在执行调用阶段的不命中;pins,显示在库高速缓存中执行的次数;reloads,显示在执行阶段库高速缓存不命中的数目下面的语句可以监视在一段时间内v$librarycache表中的统计select sum(pins) "请求存取数",sum(reloads) "不命中数"from v$librarycache输出如下:请求存取数 不命中数--------------------705431 8一般sum(reloads)/sum(pins)的值应接近于零.如果大于1%就应当立即采取措施来减少这种不命中.措施一:增加初始化参数shared_pool_size的值,提高库高速缓存可用的内存数量,增加初始化参数open_cursors的值措施二:写等价的SQL语句,尽可能让SQL语句和PL/SQL块共享一个SQL区,来减少库高速缓存的不命中.(ii)检查,调整数据字典高速缓存在应用已经运行,数据库达到一种相对稳定之后,通过动态性能表v$rowcache来查询数据字典高速缓存的活动v$rowcache表中以下几列反映了数据字典高速缓存的活动gets列,显示请求相应项的总数;getmisses,显示造成高速缓存不命中的数据请求数.select sum(gets) "请求存取数",sum(getmisses) "不命中数"from v$rowcache输出如下:请求存取数 不命中数--------------------52904 855一般来说,数据字典高速缓存总不命中数与总存取数的比也应当接近于0,如果大于10%,应该增加shared_pool_size的值,来提高数据字典高速缓存可用的内存数量,减少不命中数.调整缓冲区高速缓存oracle启动后不簖收集和统计数据存取的情况,并将其存放在动态性能表v$sysstat中,表中对调整缓冲区高速缓存有用的为以下几项统计:dbblock gets 该统计值为数据请求的总数consistent gets 该统计值为通过内存缓冲区存取即能满足的请求数physical reads 该统计值为磁盘文件存取的总数下面语句可以监控在一段时间内v$sysstat表中的统计信息select name,value from v$sysstatwhere name in ('db block gets','consistent gets','physical reads')输出如下name value-------------------------db block gets 2631consistent gets 325460physical reads 2631用以下公式计算缓冲区高速缓存的命中率:命中率=1-(physical reads/(db block gets+consistent gets))如果高速缓存大到足以容纳最经常存取的数据,在保持高命中率的前提下,可以通过适当减少初始化参数db_block_buffers的值来减少高速缓存的大小.如果命中率低于70%的话,性能就会造成下降,就应该立即增加db_block_buffers的值(最大值为65535). mysql导入到Oracle的问题 初次接触ORACLE的不解之处 OEM中为什么找不到“Net 服务管理” 要连接远程数据库,怎么修改tnsname.ora文件 这样的如何统计 如下的一系列操作能删除数据库里的相同记录吗? 简单问题??急啊,在线等…… 请问,如何恢复已经删除的表? 创建数据库问题 进入oracle enterprise manager(console)的用户密码丢了,怎么找到? 在XP下能不能装Oracle 10 新建的表结构存储在哪个系统表中
讲了好多,去看看
数据字典缓存中的数据比库高速缓存中的数据在内存中保留的时间要长.所以只要把库高速缓存调整成可以接受的命中率即可.(i)检查,调整库高速缓存可以通过动态性能表v$librarycache来查询从实例启动以来所有库高速缓存的活动情况
v$librarycache表中以下几列反映了库高速缓存在执行调用阶段的不命中;
pins,显示在库高速缓存中执行的次数;
reloads,显示在执行阶段库高速缓存不命中的数目下面的语句可以监视在一段时间内v$librarycache表中的统计select sum(pins) "请求存取数",sum(reloads) "不命中数"
from v$librarycache输出如下:
请求存取数 不命中数
--------------------
705431 8一般sum(reloads)/sum(pins)的值应接近于零.如果大于1%就应当立即采取措施来减少这种不命中.措施一:增加初始化参数shared_pool_size的值,提高库高速缓存可用的内存数量,增加初始化参数open_cursors的值措施二:写等价的SQL语句,尽可能让SQL语句和PL/SQL块共享一个SQL区,来减少库高速缓存的不命中.(ii)检查,调整数据字典高速缓存在应用已经运行,数据库达到一种相对稳定之后,通过动态性能表v$rowcache来查询数据字典高速缓存的活动
v$rowcache表中以下几列反映了数据字典高速缓存的活动gets列,显示请求相应项的总数;
getmisses,显示造成高速缓存不命中的数据请求数.select sum(gets) "请求存取数",sum(getmisses) "不命中数"
from v$rowcache输出如下:
请求存取数 不命中数
--------------------
52904 855一般来说,数据字典高速缓存总不命中数与总存取数的比也应当接近于0,如果大于10%,应该增加shared_pool_size的值,
来提高数据字典高速缓存可用的内存数量,减少不命中数.调整缓冲区高速缓存oracle启动后不簖收集和统计数据存取的情况,并将其存放在动态性能表v$sysstat中,表中对调整缓冲区高速缓存有用的为以下几项统计:
dbblock gets 该统计值为数据请求的总数
consistent gets 该统计值为通过内存缓冲区存取即能满足的请求数
physical reads 该统计值为磁盘文件存取的总数下面语句可以监控在一段时间内v$sysstat表中的统计信息
select name,value
from v$sysstat
where name in ('db block gets','consistent gets','physical reads')输出如下
name value
-------------------------
db block gets 2631
consistent gets 325460
physical reads 2631用以下公式计算缓冲区高速缓存的命中率:
命中率=1-(physical reads/(db block gets+consistent gets))如果高速缓存大到足以容纳最经常存取的数据,在保持高命中率的前提下,可以通过适当减少初始化参数db_block_buffers的值来减少高速缓存的大小.如果命中率低于70%的话,性能就会造成下降,就应该立即增加db_block_buffers的值(最大值为65535).