FAQ
2019-01-17
Oracle 比率:Redo Nowait Ratio 的计算方式
有朋友问道这个问题,在 AWR 中,Redo Nowait 比例的含义。在很多报告中,这个值出现了负数。
其实从 Statspack 的报告中,就可以找到计算公式:
-- -- Instance Efficiency Percentages column ldscr format a50 column nl format a60 newline; select 'Instance Efficiency Percentages (Target 100%)' ldscr ,'~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~' ldscr ,' Buffer Nowait %:' dscr , round(100*(1-:bfwt/:gets),2) pctval ,' Redo NoWait %:' , decode(:rent,0,to_number(null), round(100*(1-:rlsr/:rent),2)) pctval ,' Buffer Hit %:' dscr , round(100*(1-(:phyr-:phyrd-:phyrdl)/:gets),2) pctval ,' In-memory Sort %:' , decode((:srtm+:srtd),0,to_number(null), round(100*:srtm/(:srtd+:srtm),2)) pctval ,' Library Hit %:' dscr , round(100*:lhtr,2) pctval ,' Soft Parse %:' , round(100*(1-:hprs/:prse),2) pctval ,' Execute to Parse %:' dscr , round(100*(1-:prse/:exe),2) pctval ,' Latch Hit %:' , round(100*(1-:lhr),2) pctval ,'Parse CPU to Parse Elapsd %:' dscr , decode(:prsela, 0, to_number(null) , round(100*:prscpu/:prsela,2)) pctval ,' % Non-Parse CPU:' , decode(:tcpu, 0, to_number(null) , round(100*1-(:prscpu/:tcpu),2)) pctval from sys.dual;
这其中能够看到很多比率的计算方式,Nowait Redo 的计算如下:
decode(:rent,0,to_number(null), round(100*(1-:rlsr/:rent),2)) pctval
这其中:
rlsr = Redo Log space requests
rent = Redo Entries
有了这个计算公式,就可以理解其中的玄机了。如果 Redo Log Space 的请求非常多,这个计算就可能出现负数,或者 rent 溢出变小都是可能的情况。
历史上的今天
- 2011-01-17 盖小咪的第一次表演
- 2010-01-17 IBM小型机的内存deconfigured - 数据库之风险
- 2008-01-17 年会纪事之三:Piner的新书出版
- 2008-01-17 各取所需:Oracle收购BEA,SUN收购MySQL
- 2007-01-17 系统对象IDL_UB1$表的含义及作用
- 2006-01-17 Oracle HowTo:如何更改数据库的SCN?
- 2005-01-17 Oracle基于时间点的恢复