性能检查指导方案-PartI

来源:互联网 发布:开淘宝店铺照片怎么拍 编辑:程序博客网 时间:2024/05/28 04:55
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>

数据库性能检查指导方案

 

Author:Kamus

Date:2004-9

 

在系统稳定之后,应该按照本指导方案每个月检查一次产品数据库。

该指导方案适用于9i数据库,因为有些脚本在9i中才可以运行。

检查方式均为以sysdba身份登录数据库以后在SQLPLUS中执行命令脚本(每小节的“检查方法”部分有详细的命令脚本)。

登陆数据库的命令:

sqlplus“sys/passwordassysdba”

 

一.内存性能评估

在内存性能评估的时候,我们使用内存性能指数(MPI,MemoryPerformanceIndex),下表列出了MPI中的各项指数,这个评分系统并不意味着对内存的使用和分配的全方位评估,而只是代表一个晴雨表,反映当前系统内存的使用和分配状况。

 

MPI指数

分类

所需等级

最高分

缓冲区命中率(BufferCache)

>98%

30

数据字典命中率(DictionaryCache)

>98%

30

库缓存命中率(LibraryCache)

>98%

30

内存中的排序(SortinMemory)

>98%

30

空闲的数据缓冲区比例

10-25%

30

使用最多的前10个SQL占用的内存

<5%

60

是否已经调整使用最多的前25个SQL



30

是否尝试固定高速缓存中经常使用的对象



10

MPI指数

总分

250

 

1.缓冲区命中率

显示了对于数据总读取量而言,非磁盘读取(缓冲区命中)的百分比。当然,十分高的命中率并不代表数据库性能一定优良,也有可能是糟糕的SQL引起了大量的缓冲区读操作,只有在已经调整过首要的查询之后,这个命中率才能更好地反映数据库性能。

 

检查方法:

select(1-(sum(decode(name,'physicalreads',value,0))/
      (sum(decode(name,'dbblockgets',value,0))+
      sum(decode(name,'consistentgets',value,0)))))*100
      "HitRatio"
 fromv$sysstat;

 

评估准则:

等级

分数

<90%

0

90-94%

10

95-98%

20

>98%

30

 

2.数据字典命中率

显示了对数据字典和其它对象的内存读操作的百分比。

 

检查方法:

select(1-(sum(getmisses)/sum(gets)))*100"HitRatio"
 fromv$rowcache;

 

评估准则:

等级

分数

<85%

0

86-92%

10

92-98%

20

>98%

30

 

3.库缓存命中率

显示了对SQL和PL/SQL对象的内存读操作的百分比。同样注意,很高的命中率并不总是反映数据库性能优秀。

 

检查方法:

selectsum(pins)/(sum(pins)+sum(reloads))*100"HitRatio"
 fromv$librarycache;

 

评估准则:

等级

分数

<90%

0

90-94%

10

94-98%

20

>98%

30

 

4.内存中的排序

根据初始化参数PGA_AGGREGATE_TARGET或者SORT_AREA_SIZE的值,用户的排序操作可能在内存中执行,也可能在临时表空间中执行。这个检查用以显示在内存中排序占总排序的百分比。

 

检查方法:

selecta.value"DiskSorts",
      b.value"MemorySorts",
      round((100*b.value)/
            decode((a.value+b.value),0,1,(a.value+b.value)),
            2)"PctMemorySorts"
 fromv$sysstata,v$sysstatb
 wherea.name='sorts(disk)'
  andb.name='sorts(memory)';

 

评估准则:

等级

分数

<90%

0

90-94%

10

94-98%

20

>98%

30

 

5.空闲的数据缓冲区比例

空闲的记录数除以X$BH表中的记录总数(即所分配的数据块缓冲区的总数)得到的空闲缓冲区百分比。同样注意,拥有众多空闲缓冲区的数据库不一定是最佳环境,因为可能是缓冲区设置过大,浪费内存。共3页  1  
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 728x15, 创建于 08-4-23MSDN */google_ad_slot = "3624277373";google_ad_width = 728;google_ad_height = 15;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
<script type="text/javascript"><!--google_ad_client = "pub-2947489232296736";/* 160x600, 创建于 08-4-23MSDN */google_ad_slot = "4367022601";google_ad_width = 160;google_ad_height = 600;//--></script><script type="text/javascript"src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script>
原创粉丝点击