欢迎交流测试经验

如何自定义oracle数据库监视器(转自51testing斑竹jzl2004 大作)

上一篇 / 下一篇  2007-06-05 08:55:11 / 个人分类:技术文摘

一、添加自定义计数器的方法软件测试技术第一门户fEX5Ow!X;Ca? x$j#G
软件测试技术第一门户},\:?%~1fJ4GB
      要创建自定义查询,请执行以下操作:
4Sk|\&@"K$S7F$@+dM01.        在安装路径的Mercury LoadRunner\dat\monitors找到vmon.cfg文件,打开。软件测试技术第一门户| Uej3G(i:l6?6A
2.        在vmon.cfg文件的第三行中,CustomCounters=指出要创建的自定义计数器个数。
R Eb1j+m6{SbClR03.        在vmon.cfg文件中为新计数器新建一节,每节都有以下格式:
H,YAo[2O0     [Custom0]软件测试技术第一门户 `f:Qm^Y_zN
     Name=Five Hundred软件测试技术第一门户jE U"Y5F1d_)vx7u
Description=This counter always returns 500.软件测试技术第一门户Pptr4hdZKb
Query=SELECT 500 FROM DUAL
}J.oR"_vq#q0IsRate=0软件测试技术第一门户4YHl:R SK\0} K:ILrJ
4.        在[Custom#]行,将计数器顺序中的下一个数字分配给新的自定义计数器。
tNY1r{%|Xd0注意:自定义计数器必须是以数字0开始的联系顺序。
,hK^0v8Z @:p05.        在Name行,输入新计数器的名称(可以输入中文)。软件测试技术第一门户Z!X_!K$fSx
6.        在Description行,输入对该计数器的描述或解释(可以输入中文)。软件测试技术第一门户$L-HFYcpG;e
7.        在Query行,输入恰好返回数据库一行的SQL查询的文本,该行必须包含一列数值。软件测试技术第一门户&o_#H'M6Dq
注意:自定义查询文本不能够超过512字符。
y7`i&{,`r08.        在IsRate行,如果希望数据库将计数器报告为一个绝对值,请输入0;如果希望数
8v1vr%HN#e9a+z ~S5k0据库报告每单位时间计数器的更改,请输入1。
}}6NW2y$[0注意:自定义查询无法返回负值。软件测试技术第一门户DT+X%m3l |N$i
  软件测试技术第一门户FSDCY
例:软件测试技术第一门户;A0|,T$kpj)j
[Custom0]
J5Z? N0GT2YO3V_6y'Z0;Name must be unique软件测试技术第一门户AT.E)@9Q*C9Au
Name=库快存命中率
J8Zjc'iWb0Description=该计数器返回当前库快存命中率
9_1Xw8YQ/E_.oI7]0Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache
4gF j'J%@;I |0KCX0IsRate=0
rs0I-tbH(r L;V3V/^ T5z0软件测试技术第一门户1n.s&Ls+Y#N#K gi

s YUFHPE03        配置文件示例对象软件测试技术第一门户|9QM/V8J%Vt@
安装路径的Mercury LoadRunner\dat\monitors找到vmon.cfg文件:
w2dT+s+?Q0
6V/i%Nh9H'Mv{Q0V$ Monitor]
-QM4Qo1Rm;U Z0Counters=150软件测试技术第一门户7KHvb9Cl2h ?-X
CustomCounters=12
@h)JsQG/UfA+KC8k0;How many seconds for each data sample?软件测试技术第一门户)C:|{+bgR,n
SamplingRate=10软件测试技术第一门户_FoDrgX7A
软件测试技术第一门户#gUM `(Z9_)NiQ \)?
[Custom0]软件测试技术第一门户p%R@2COOAO
;Name must be unique软件测试技术第一门户@R&H |T-RL3Y5`*Y
Name=库快存命中率
2t9g'oD0]6g,R6U)q"l0Description=该计数器返回当前库快存命中率
:`p#Y N0z4P|%D6P}0Query=SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache
-V}~^5eF{)U0IsRate=0
0tk7?8|vj0软件测试技术第一门户u$J1DNK4YrC
[Custom1]
c%J st;t)_T&I0;Name must be unique软件测试技术第一门户 u7\\ p[5qu_3Kn5X
Name=高速缓存区命中率软件测试技术第一门户6I;tv7O#Pzt.Yd'O @{
Description=oracle database shoot straight软件测试技术第一门户@)l,q mfZ7C;|
Query=SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END  DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END  CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets'))
jU-g#n j-d0IsRate=0软件测试技术第一门户P(\&no&r{

&?&jV ]ux k4jb0[Custom2]软件测试技术第一门户EF'vqL#|
;Name must be unique软件测试技术第一门户9`Y ](ff_
Name=共享区库缓存区命中率软件测试技术第一门户8b @U)Ro
Description=命中率应大于0.99软件测试技术第一门户#U$jC[E:N}_
Query=Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache
O ks]'kor0IsRate=0软件测试技术第一门户~PA(csgX*T

W8w-bd%cbBT)Vn0[Custom3]
Ou2Y9N`uL.V0;Name must be unique
)t| Qg gRG0Name=共享区字典缓存区命中率软件测试技术第一门户.bRg2Q0^#q
Description=命中率应大于0.85
3@#B]l2a/s0Query=Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache
!e0j&n9rD/x`n ?0IsRate=0
X#J3~QY_3X0
Ra n1ZjT7Iy"yyj u0[Custom4]软件测试技术第一门户&B)@S2}:Cain
;Name must be unique
u,gYMbUD)_5A| U0Name=检测回滚段的争用
K-c"}!H0Oim1k;J0Description=应该小于1%
-Z3R4{n/D\&{-g*SY0Query=select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat
K&V(_U'|I6g,t%B0IsRate=0
hqMr:L0
/x6x-Yb"O"rhn b0[Custom5]软件测试技术第一门户d9TEa;d
;Name must be unique
K(d"cR*K{5F0Name=检测回滚段收缩次数软件测试技术第一门户 g3QCC$FZ~ `
Description=应该小于1%
kU"Z@n0Query=select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn软件测试技术第一门户L%x He C;O
IsRate=0
&O9n N/S1fZAo,Q3F0软件测试技术第一门户:QYS rLz b
[Custom6]
0lxB"A.qZA P7uo0;Name must be unique
i1q)G?X^:c0Name=监控表空间的I/O读总数
;z L3pa&`'NPt v?#\0Description=监控表空间的I/O软件测试技术第一门户YvFO3e1yR~
Query=select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id软件测试技术第一门户#ed4flw_
IsRate=0
%|*kgE6Fx"W0
&@,@;|?"f0[Custom7]
,ok$?n;lO3L@0;Name must be unique
4zDNWb-x7U3B!O,Lg*a0Name=监控表空间的I/O块读总数
~U;FT3a(gJy0Description=监控表空间的I/O软件测试技术第一门户^+S#I C2^Wf6w O
Query=select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id
8z? X&BU-~q0IsRate=0软件测试技术第一门户 u Q;r2V6m rQ9a+DK+Y
软件测试技术第一门户arx2s#['WZw }b,m@
[Custom8]软件测试技术第一门户"p"VG-]zK
;Name must be unique软件测试技术第一门户7H6P+iyT(j+k
Name=监控表空间的I/O写总数
],r^TD:B0Description=监控表空间的I/O软件测试技术第一门户9T lUOO
Query=select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id软件测试技术第一门户;M:Q5G%G!M{jm
IsRate=0
'?'J5X3a]1@0.软件测试技术第一门户/x7axX e
.
#EmSC@7S0.
1_;}+c,T_@,Qk0.
2bN^oXdb$T+b(U$y0.软件测试技术第一门户4f#L+|vLC b-d$R
(以上为12个自定义的计数器,以下为LR工具自带的计数器)
k Urnw`h!o0
0V YX%gbDw0[0]
1w$Z f fRL*K-s0Name=CPU used by this session
rMp4V gx]/o0Description=This is the amount of CPU time (in 10s of milliseconds) used by a session between when a user call started and ended. Some user calls can complete within 10 milliseconds and as a result, the start and end user-call time can be the same. In this case, 0 milliseconds are added to the statistic. A similar problem can exist in the reporting by the operating system, especially on systems that suffer from many context switches.软件测试技术第一门户d!C;~p3t
IsRate=0
Ig MN!b`v0
Dl4Fq Xn#xx0[1]
+z/\t @8YJ @L0Name=CPU used when call started
2p'o?Y9HJ9\3@n0Description=The CPU time used when the call is started.
.Jk{#]HH U8L4Z7r0IsRate=0软件测试技术第一门户!Qw)D9~ y}A
.软件测试技术第一门户 BTZ?Y7?
.软件测试技术第一门户 d*`R8JvZ5}'w
.
3b/_9H^o%x-MakH0.
!N Rp Qf+d0软件测试技术第一门户h'G["ZO2lY
软件测试技术第一门户B)O7i Tw\ lT
二、常用自定义计数器列表
$Rk @3_6cd0
GR|!@pG N0序号        监控名称        SQL算法        说明
+Pu0\-pA"E'` O01、   数据高速缓存区命中率        SELECT round(1-SUM(PHYSICAL_READS)/(SUM(DB_BLOCK_GETS) + SUM(CONSISTENT_GETS)), 4) * 100 FROM (SELECT CASE WHEN NAME='physical reads' THEN VALUE END PHYSICAL_READS,CASE WHEN NAME = 'db block gets' THEN VALUE END  DB_BLOCK_GETS,CASE WHEN NAME = 'consistent gets' THEN VALUE END  CONSISTENT_GETS FROM V$SYSSTAT WHERE Name IN ('physical reads','db block gets','consistent gets'))        (监控 SGA 的命中率)命中率应大于0.90最好软件测试技术第一门户k5c(zU4],C P

V8x1Z)mMG Y02、   库快存命中率        SELECT 100*((sum(pins-reloads))/sum(pins)) from v$librarycache        该计数器返回当前库快存命中率
q V*|(m.q'}P/S0软件测试技术第一门户BH7\8TDx]'A
3 、  共享区库缓存区命中率        Select round(sum(pins-reloads)/sum(pins) * 100, 2) from v$librarycache        (监控 SGA 中共享缓存区的命中率)命中率应大于0.99软件测试技术第一门户0l;d~8aj
软件测试技术第一门户!U9A\3QM`a
4、   监控 SGA 中字典缓冲区的命中率        Select round(sum(gets-getmisses-usage-fixed)/sum(gets) * 100, 2) from v$rowcache        (共享区字典缓存区命中率)命中率应大于0.85
|2K4jbzl ll[/^0软件测试技术第一门户*p^-lC6h*d8eGJ
5、   检测回滚段的争用        select round(sum(waits)/sum(gets) * 100, 2) from v$rollstat        小于1%软件测试技术第一门户7R8X7z-y \b(\1j poU
软件测试技术第一门户 u p#Orote
6、   检测回滚段收缩次数        select sum(shrinks) from v$rollstat, v$rollname where v$rollstat.usn = v$rollname.usn       
$?DP"r,bIH*\Q0软件测试技术第一门户 zex*X:n d+XLX,U
7、   监控表空间的 I/O读总数        select sum(f.phyrds) pyr from v$filestat f, dba_data_files df where f.file# = df.file_id        监控表空间的 I/O软件测试技术第一门户 _Df5L7}_-^l
软件测试技术第一门户 pi]*im)V4i+`S
8、    监控表空间的 I/O块读总数        select sum(f.phyblkrd) pbr from v$filestat f, dba_data_files df where f.file# = df.file_id        监控表空间的 I/O
^3P8?/M`8D!DS7k9Y5N0
9V;T6L0p#l)Zwq09、    监控表空间的 I/O写总数        select sum(f.phywrts) pyw from v$filestat f, dba_data_files df where f.file# = df.file_id        监控表空间的 I/O软件测试技术第一门户Y_8j1qR`&Q
软件测试技术第一门户'G9l5Ug2z i,|~0y,Q6I
10、  监控表空间的 I/O块写总数        select sum(f.phyblkwrt) pbw  from v$filestat f, dba_data_files df where f.file# = df.file_id        监控表空间的 I/O
R!g;b,K9o nG"x!b0
S7qG4Ka2NL011、   监控 SGA 中重做日志缓存区的命中率        SELECT Decode(immediate_gets+immediate_misses,0,0,immediate_misses/(immediate_gets+immediate_misses)*100) ratio2 FROM v$latch WHERE name IN ('redo copy')        应该小于1%软件测试技术第一门户oCG*[];k-i

m%p#Af/h*kn0^ O012、   监控内存和硬盘的排序比率        select round(sum(case when name='sorts (disk)' then value else 0 end) / sum(case when name='sorts (memory)' then value else 0 end)*100,2) from (SELECT  name, value FROM v$sysstatWHERE name IN ('sorts (memory)', 'sorts (disk)'))        最好使它小于 10%

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

我的栏目

日历

« 2008-08-19  
     12
3456789
10111213141516
17181920212223
24252627282930
31      

数据统计

  • 访问量: 1236
  • 日志数: 9
  • 建立时间: 2007-05-15
  • 更新时间: 2007-06-05

RSS订阅

Open Toolbar