欢迎来到天天文库
浏览记录
ID:21697649
大小:43.50 KB
页数:5页
时间:2018-10-23
《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
此文档下载收益归作者所有