动态性能表-第一篇--v$sysstat
上一篇 / 下一篇 2010-10-15 10:51:12 / 个人分类:Oracle
第一篇--v$sysstat
X9NRn]/|:_1vo05q Z!uVER0 按照OracleDocument中的描述,v$sysstat存储自数据库实例运行那刻起就开始累计全实例(instance-wide)的资源使用情况。
gv[-GM)@ _oo0y%CO?{-k|.y I$w0类似于v$sesstat,该视图存储下列的统计信息:51Testing软件测试网1~0boh1MuR/o3p
1>.事件发生次数的统计(如:user commits)
a*s'UUU(QU02>.数据产生,存取或者操作的total列(如:redo size)
J)W H5l#J&WG;U:@P a03>.如果TIMED_STATISTICS值为true,则统计花费在执行操作上的总时间(如:CPU used by this session)51Testing软件测试网!j"E hl%k3w+B-K
u yg,g2kp4n/|3o^0v$sysstat视图常用列介绍:
MJi%u+J hh0g0l STATISTIC#:标识51Testing软件测试网)I/|#]zK
l NAME:统计项名称
l8c.hp@x0l VALUE:资源使用量
}vLDgD~A$m/h0该视图还有一列class-统计类别但极少会被使用,各类信息如下:51Testing软件测试网}Y/j0w#N%~s Jy
1代表事例活动51Testing软件测试网9^w%J?w(b"w
2代表Redo buffer活动
s4@zm'@/a?04代表锁
)B@6soB.k9GkNm08代表数据缓冲活动
R7~*V2pKlf:^_016代表OS活动51Testing软件测试网KvFR2\
32代表并行活动51Testing软件测试网/`~mG8Z8V5Ns,T/NH]
64代表表访问51Testing软件测试网A,q!t^H Q
128代表调试信息51Testing软件测试网6wwNw7?[GxO
L*J*eO t5g0注意:Statistic#的值在不同版本中各不相同,使用时要用Name做为查询条件而不要以statistic#的值做为条件。
'|Y }D+JmO051Testing软件测试网~$X.|$|Fb#k使用v$sysstat中的数据51Testing软件测试网SPT m(f:PbQ Y
t#pa q0W0 该视图中数据常被用于监控系统性能。如buffer cache命中率、软解析率等都可从该视图数据计算得出。51Testing软件测试网4y(iZ Lc/b@*H
51Testing软件测试网} CC$M@i%I#up该视图中的数据也被用于监控系统资源使用情况,以及系统资源利用率的变化。正因如此多的性能数据,检查某区间内系统资源使用情况可以这样做,在一个时间段开始时创建一个视图数据快照,结束时再创建一个,二者之间各统计项值的不同(end value - begin value)即是这一时间段内的资源消耗情况。这是oracle工具的常用方法,诸如Statspack以及BSTAT/ESTAT都是如此。51Testing软件测试网u)eh-FfF/?
;KI$U d1I]0 为了对比某个区间段的数据,源数据可以被格式化(每次事务,每次执行,每秒钟或每次登陆),格式化后数据更容易从两者中鉴别出差异。这类的对比在升级前,升级后或仅仅想看看一段时间内用户数量增长或数据增加如何影响资源使用方面更加实用。
L$hI a(Z6o)Y05@#\2P;TUDi|6o%a0 你也可以使用v$sysstat数据通过查询v$system_event视图来检查资源消耗和资源回收。
{4u9BKN'f$} g,eZ0'J3m Q:n [7z0V$SYSSTAT中的常用统计
;@*@,B(~a051Testing软件测试网4x*{bky.hW-TV$SYSSTAT中包含多个统计项,这部分介绍了一些关键的v$sysstat统计项,在调优方面相当有用。下列按字母先后排序:51Testing软件测试网/A,s8z/F { u%P
51Testing软件测试网E} \&y QP \v数据库使用状态的一些关键指标:
f)c!Ij@ I5W|,Ab;s0l CPU used by this session:所有session的cpu占用量,不包括后台进程。这项统计的单位是百分之x秒.完全调用一次不超过10ms
nLZaE1R ~DU7?Y0l db block changes:那部分造成SGA中数据块变化的insert,update或delete操作数这项统计可以大概看出整体数据库状态。在各项事务级别,这项统计指出脏缓存比率。51Testing软件测试网1\)UW9S!K~g`#[UZ
l execute count:执行的sql语句数量(包括递归sql)51Testing软件测试网lP%oI6|0K
l logons current:当前连接到实例的Sessions。如果当前有两个快照则取平均值。51Testing软件测试网%KTyz7pLu2HW
l logons cumulative:自实例启动后的总登陆次数。
9U8w2M5Xuj/c9^0l parse count (hard):在shared pool中解析调用的未命中次数。当sql语句执行并且该语句不在shared pool或虽然在shared pool但因为两者存在部分差异而不能被使用时产生硬解析。如果一条sql语句原文与当前存在的相同,但查询表不同则认为它们是两条不同语句,则硬解析即会发生。硬解析会带来cpu和资源使用的高昂开销,因为它需要oracle在shared pool中重新分配内存,然后再确定执行计划,最终语句才会被执行。51Testing软件测试网gr3F)ZS'~iG
l parse count (total):解析调用总数,包括软解析和硬解析。当session执行了一条sql语句,该语句已经存在于shared pool并且可以被使用则产生软解析。当语句被使用(即共享)所有数据相关的现有sql语句(如最优化的执行计划)必须同样适用于当前的声明。这两项统计可被用于计算软解析命中率。51Testing软件测试网M2{5_e#_]h
l parse time cpu:总cpu解析时间(单位:10ms)。包括硬解析和软解析。
p.X%z*S*h,y&L B0l parse time elapsed:完成解析调用的总时间花费。51Testing软件测试网(U@+^&CeJ$wL/l#M
l physical reads:OS blocks read数。包括插入到SGA缓存区的物理读以及PGA中的直读这项统计并非i/o请求数。51Testing软件测试网 Es'c+a:G'gi
l physical writes:从SGA缓存区被DBWR写到磁盘的数据块以及PGA进程直写的数据块数量。
l%]6?5ug(GCL-[3v0l redo log space requests:在redo logs中服务进程的等待空间,表示需要更长时间的log switch。51Testing软件测试网Xi_ N_J
l redo size:redo发生的总次数(以及因此写入log buffer),以byte为单位。这项统计显示出update活跃性。51Testing软件测试网RF(`&FV@
l session logical reads:逻辑读请求数。
ZpNIJ(unu0l sorts (memory) and sorts (disk):sorts(memory)是适于在SORT_AREA_SIZE(因此不需要在磁盘进行排序)的排序操作的数量。sorts(disk)则是由于排序所需空间太大,SORT_AREA_SIZE不能满足而不得不在磁盘进行排序操作的数量。这两项统计通常用于计算in-memory sort ratio。
Y(WQ!Yp0l sorts (rows):列排序总数。这项统计可被'sorts (total)'统计项除尽以确定每次排序的列。该项可指出数据卷和应用特征。51Testing软件测试网d W2s0n[Z'i
l table fetch by rowid:使用ROWID返回的总列数(由于索引访问或sql语句中使用了'where rowid=&rowid'而产生)
M-yn$j'YML'e${0l table scans (rows gotten):全表扫描中读取的总列数51Testing软件测试网[N0g\6m2sf
l table scans (blocks gotten):全表扫描中读取的总块数,不包括那些split的列。
U jD4d?a0l user commits + user rollbacks:系统事务起用次数。当需要计算其它统计中每项事务比率时该项可以被做为除数。例如,计算事务中逻辑读,可以使用下列公式:session logical reads / (user commits + user rollbacks)。
qAd5^7IeU}0注:SQL语句的解析有软解析soft parse与硬解析hard parse之说,以下是5个步骤:
'Vq[3m v01:语法是否合法(sql写法)
qh,ZB H;T2Y02:语义是否合法(权限,对象是否存在)51Testing软件测试网F-vwlO4c
3:检查该sql是否在公享池中存在51Testing软件测试网*bl ysGi
--如果存在,直接跳过4和5,运行sql.此时算soft parse51Testing软件测试网2MIySo
4:选择执行计划
.L E+Ll6w5O2a/e~0fB']05:产生执行计划51Testing软件测试网!g`n#b\
--如果5个步骤全做,这就叫hard parse.
P'w#XY:B4YkV051Testing软件测试网1?_!p,wri(BO注意物理I/O
I#i"Jr#qC|Abk&Ly051Testing软件测试网m3V j`{s7`oracle报告物理读也许并未导致实际物理磁盘I/O操作。这完全有可能因为多数操作系统都有缓存文件,可能是那些块在被读取。块也可能存于磁盘或控制级缓存以再次避免实际I/O。Oracle报告有物理读也许仅仅表示被请求的块并不在缓存中。
_6c F9_"a2kFAC |051Testing软件测试网Z1M\0N%Q7D由V$SYSSTAT得出实例效率比(Instance Efficiency Ratios)
,K9~8P){S4UG051Testing软件测试网eax5jcb$eJ b下列是些典型的instance efficiency ratios由v$sysstat数据计算得来,每项比率值应该尽可能接近1:
9Dx%eFw-kt5X?0l Buffer cache hit ratio:该项显示buffer cache大小是否合适。
-h6G4A6ibz2z051Testing软件测试网uCp Y9a3x)z(d公式:1-((physical reads-physical reads direct-physical reads direct (lob)) / session logical reads)
;e(L+q |d%H0GA.o0z]"DB-cC0执行:
-lV7I1\O r,kG0(}n aRf+O[O|V MH/tR0select1-((a.value-b.value-c.value)/d.value)51Testing软件测试网+CYXm9x-\)Mb'e/?/PS
|4Rb i:R!{0 fromv$sysstat a,v$sysstat b,v$sysstat c,v$sysstat d51Testing软件测试网/CGMO n(wFF
Ju\ [4?~]&Nz0ZG1Y:q0 wherea.name='physical reads'and
\Q*_a*U!OhCc2s051Testing软件测试网1V,V7\8l"Pb.name='physical reads direct'and51Testing软件测试网9z*kw"|/Z8d
EH E0C/ay0 c.name='physical reads direct (lob)'and51Testing软件测试网_]$h lk?
51Testing软件测试网wo(\A/z]Y tU?d.name='session logical reads';
}(mq.^&Mx+I0l Buffer hit ratio:该项显示buffer命中率。
o5GkgQ2c o&i0!z9nQ!|^ u}m0公式:1-(physical reads/ (db block gets+consistent gets))51Testing软件测试网oL'?2l2n0Hi9}u)O
51Testing软件测试网!N5[`%w;dx执行:
{` T3_u3Gs'`)}051Testing软件测试网 GC-b8u5n*rc;duselect1- (sum(decode(name,'physical reads',value,0)) /51Testing软件测试网${X%X w8gE h6EO
ng }3R$eg0 (sum(decode(name,'db block gets',value,0)) +
^.{.CfmLQ051Testing软件测试网Dh6j)ze G hA-XBsum(decode(name,'consistent gets',value,0))))51Testing软件测试网pq0["Kp&S1@K"X[P%B
51Testing软件测试网 w*k4p/zjI}JR"Buffer Hit Ratio"51Testing软件测试网&@)t5Ej v
51Testing软件测试网C _3v&\2IC9Sfromv$sysstat;
#VI }:g#u6?&p"|D?0l Soft parse ratio:这项将显示系统是否有太多硬解析。该值将会与原始统计数据对比以确保精确。例如,软解析率仅为0.2则表示硬解析率太高。不过,如果总解析量(parse count total)偏低,这项值可以被忽略。51Testing软件测试网R3? ]F z'xh%Z'I
1Ir1e ^Db0公式:1 - ( parse count (hard) / parse count (total) )51Testing软件测试网9r6G,]+E8OSc
;nc J;N(Z0执行:51Testing软件测试网&lYaGz @9_}
51Testing软件测试网a1g'K MIARoselect1-(a.value/b.value)51Testing软件测试网e|F:~i:Su2K~
HvI,r ^/Q]bx0 fromv$sysstat a,v$sysstat b51Testing软件测试网;U;{"t:R5u ZJ
O+d&S Fr0 Wherea.name='parse count (hard)'andb.name='parse count (total)';