资源描述:
《Oracle数据库性能检查指导方案》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、数据库性能检查指导方案Author:KamusDate:2004-9在系统稳定之后,应该按照本指导方案每个月检查一次产品数据库。该指导方案适用于0racle9i数据库,因为有些脚本在9i屮才可以运行。检查方式均为以sysdba身份背录数据库以后在SQLPLUS中执行命令脚本(毎小节的“检查方法”部分有详细的命令脚本)。登陆数据库的命令:sqlplus''sys/passwordassysd一.内存性能评估在内存性能评估的时候,我们使用内存性能指数(MP1,MemoryPerformanceIndex),b*表列出了MPI中的各项指数,这个评分系统并不意味着对内存的使用和分
2、配的全方位评估,而只是代表一个晴雨表,反映当前系统内存的使用和分配状况。MPI指数分类所需等级最高分缓冲区命中率(BufferCache)>98%30数据字典命中率(DictionaryCache)>98%30库缓存命中率(LibraryCache)>98%30内存中的排序(SortinMemory)>98%30空闲的数据缓冲区比例10-25%30使用最多的前10个SQL占用的内存<5%60是否已经调整使用最多的询25个SQL是30是否尝试固定高速缓存中经常使用的对•象是10MPT指数总分2501.缓冲区命中率显示了对于数据总读取量而言,非磁盘读取(缓冲区命屮)的百分比。
3、当然,十分高的命小率并不代表数据库性能一定优良,也有可能是糟糕的SQL引起了大量的缓冲区读操作,只有在已经调整过首要的查询之后,这个命中率才能更好地反映数据库性能。检杳方法:select(1-(sum(decode(name,1physicalreads1zvalue,0))/(sum(decode(name,1dbblockgets1,value,0))+sum(decode(name,1consistentgets1,value,0)))))*100nHitRatio"fromv$sysstat;评估准则:等级分数<90%090-94%1095-98%20>98%30
4、2.数据字典命中率显示了对数据字典和其它对象的内存读操作的百分比。检查方法:select(1-(sum(getmisses)/sum(gets)))*100nHitRatio11fromv$rowcache;评估准则:等级分数<85%086-92%1092-98%20>98%303.库缓存命中率显示了对SQL和PL/SQL对'象的内存读操作的仃分比。同样注意,很高的命中率并不总是反映数据库性能优秀。检查方法:selectsum(pins)/(sum(pins)+sum(reloads))*100nHitRatio11fromv$librarycache;评估准则:等级分数
5、<90%090-94%1094-98%20>98%304.内存中的排序根据初始化参数PGA_AGGREGATE_TARGET或者SORT_AREA_SIZE的值,用户的排序操作可能在内存屮执行,也可能在临时表空间中执行。这个检查用以显示在内存小排序占总排序的百分比。检査方法:selecta.value"DiskSorts'1,b•valuenMemorySortsn,round((100*b・value)/decode((a・value+b.value),0,1,(a.value+b.value)),2)11PctMemorySorts'1fromv$sysstatazv
6、$sysstatbwherea.name=1sorts(disk)1andb.name=1sorts(memory)1;评估准则:等级分数<90%090-94%1094-98%20>98%305.空闲的数据缓冲区比例空闲的记录数除以X$BII表中的记录总数(即所分配的数据块缓冲区的总数)得到的空闲缓冲区百分比。同样注意,拥有众多空闲缓冲区的数据库不一定是最住坏境,因为可能是缓冲区设置过人,浪费内存。检查方法:selectdecode(state,0,'FREE',1,decode(lrba_seqz0,'AVAILABLE*z'BEINGUSED'),3,'BEINGUS
7、ED',state)"BlockStatus"zcount(*)fromx$bhgroupbydecode(statez0,'FREE',1,decode(lrba-Seq,0,'AVAILABLE'z'BEINGUSED')z3,'BEINGUSED',state);评估准则:等级分数<5%05-19%3020-25%20>25%06.最浪费内存的前10个语句占全部内存读取量的比例通常一个没冇优化系统屮,10个最常用的SQL语句的访问最会占到整个系统屮内存读操作的50%以上。这些SQL是最需要进行优化的部分,也是优化工作中优