oracle设置系统参数进行性能优化

oracle设置系统参数进行性能优化

ID:21697649

大小:43.50 KB

页数:5页

时间:2018-10-23

oracle设置系统参数进行性能优化_第1页
oracle设置系统参数进行性能优化_第2页
oracle设置系统参数进行性能优化_第3页
oracle设置系统参数进行性能优化_第4页
oracle设置系统参数进行性能优化_第5页
资源描述:

《oracle设置系统参数进行性能优化》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、.....一、SGA1、SharedpooltunningSharedpool的优化应该放在优先考虑,因为一个cachemiss在sharedpool中发生比在databuffer中发生导致的成本更高,由于dictionary数据一般比librarycache中的数据在内存中保存的时间长,所以关键是librarycache的优化。Gets:(parse)在namespace中查找对象的次数;Pins:(execution)在namespace中读取或执行对象的次数;Reloads:(reparse)在执行阶段librarycachemisses的次数,导

2、致sql需要重新解析。1)检查v$librarycache中sqlarea的gethitratio是否超过90%,如果未超过90%,应该检查应用代码,提高应用代码的效率。Selectgethitratiofromv$librarycachewherenamespace=’sqlarea’;2)v$librarycache中reloads/pins的比率应该小于1%,如果大于1%,应该增加参数shared_pool_size的值。Selectsum(pins)“executions”,sum(reloads)“cachemisses”,sum(reload

3、s)/sum(pins)fromv$librarycache;reloads/pins>1%有两种可能,一种是librarycache空间不足,一种是sql中引用的对象不合法。3)sharedpoolreservedsize一般是sharedpoolsize的10%,不能超过50%。V$shared_pool_reserved中的requestmisses=0或没有持续增长,或者free_memory大于sharedpoolreservedsize的50%,表明sharedpoolreservedsize过大,可以压缩。4)将大的匿名pl/sql代码块转

4、换成小的匿名pl/sql代码块调用存储过程。5)从9i开始,可以将executionplan与sql语句一起保存在librarycache中,方便进行性能诊断。从v$sql_plan中可以看到executionplans。6)保留大的对象在sharedpool中。大的对象是造成内存碎片的主要原因,为了腾出空间许多小对象需要移出内存,从而影响了用户的性能。因此需要将一些常用的大的对象保留在sharedpool中,下列对象需要保留在sharedpool中:a.经常使用的存储过程;b.经常操作的表上的已编译的触发器c.Sequence,因为Sequence移出

5、sharedpool后可能产生号码丢失。查找没有保存在librarycache中的大对象:Select*fromv$db_object_cachewheresharable_mem>10000and..........typein('PACKAGE','PROCEDURE','FUNCTION','PACKAGEBODY')andkept='NO';将这些对象保存在librarycache中:Executedbms_shared_pool.keep(‘package_name’);对应脚本:dbmspool.sql7)查找是否存在过大的匿名pl/sql代

6、码块。两种解决方案:A.转换成小的匿名块调用存储过程B.将其保留在sharedpool中查找是否存在过大的匿名pl/sql块:Selectsql_textfromv$sqlareawherecommand_type=47andlength(sql_text)>500;8)Dictionarycache的优化避免出现Dictionarycache的misses,或者misses的数量保持稳定,只能通过调整shared_pool_size来间接调整dictionarycache的大小。Percentmisses应该很低:大部分应该低于2%,合计应该低于15%

7、Selectsum(getmisses)/sum(gets)fromv$rowcache;若超过15%,增加shared_pool_size的值。2、BufferCache1)granule大小的设置,db_cache_size以字节为单位定义了defaultbufferpool的大小。如果SGA<128M,granule=4M,否则granule=16M,即需要调整sga的时候以granule为单位增加大小,并且sga的大小应该是granule的整数倍。2)根据v$db_cache_advice调整buffercache的大小SELECTsize_fo

8、r_estimate,buffers_for_estimate,estd_phy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。