What is DB time in AWR?
AWR中有 DB time这个术语,那么什么是DB time呢?
Oracle10gR2 官方文档 给出了详细解释(Oracle10gPerformance Tuning Guide 5.1.1.2 Time Model Statistics)
The most important of the time model statistics is DB time. This statistics represents the total time spent in
database calls and is a indicator of the total instance workload. It is calculated by aggregating the CPU and
wait times of all sessions not waiting on idle wait events (non-idle user sessions).
根据官方文档的解释,DB time=DB CPU+ DB waiting time(no-idle time)
那么下面我挑一个session来验证一下
SQL> select sid,stat_id,stat_name,value/1000000/60 from V$sess_TIME_MODEL where sid=194;
SID STAT_ID STAT_NAME VALUE/1000000/60
---------- ---------- -------------------------------------------------- ----------------
194 3649082374 DB time 33.5681982
194 2748282437 DB CPU 32.9633455
194 4157170894 background elapsed time 0
194 2451517896 background cpu time 0
194 4127043053 sequence load elapsed time 0
194 1431595225 parse time elapsed .0005325
194 372226525 hard parse elapsed time .000498433
194 2821698184 sql execute elapsed time 33.5674656
194 1990024365 connection management call elapsed time .000047933
194 1824284809 failed parse elapsed time 0
194 4125607023 failed parse (out of shared memory) elapsed time 0
194 3138706091 hard parse (sharing criteria) elapsed time 0
194 268357648 hard parse (bind mismatch) elapsed time 0
194 2643905994 PL/SQL execution elapsed time .0000051
194 290749718 inbound PL/SQL rpc elapsed time 0
194 1311180441 PL/SQL compilation elapsed time 0
194 751169994 Java execution elapsed time 0
194 1159091985 repeated bind elapsed time .0000001
194 2411117902 RMAN cpu time (backup/restore) 0
19 rows selected.
Elapsed: 00:00:01.61
SQL> select (sysdate-logon_time)*24*60 minutes, username,machine,sid,serial#,event,p1,p2,p3
2 from v$session where sid=194;
MINUTES USERNAME MACHINE SID SERIAL# EVENT P1 P2 P3
---------- -------------------- -------------------- ---------- ---------- -------------------- ---------- ---------- ----------
34.4833333 WHSUSRGL NA/BDC-KALIDO001 194 28391 direct path read tem 202 89709 1
p
Elapsed: 00:00:01.15
Session 194连接到数据库已经34.4833333分钟,DB time=33.5681982 , CPU time=32.9633455
现在来查询一下ASH,我们知道ASH是每隔1秒钟采样一次
SQL> select count(*)
2 from v$active_session_history ash, v$event_name enm
3 where ash.event#=enm.event#
4 and SESSION_ID=194;
COUNT(*)
----------
47
那么194这个session大概等待了47秒,也就是等待了大约。78333333分钟
SQL> select 47/60 from dual;
47/60
----------
.783333333
SQL> select 32.9633455+.783333333 from dual;
32.9633455+.783333333
---------------------
33.7466788
DB CPU + 等待时间=33.7466788 ,而 DB time=33.5681982 他们相差不大,基本上可以说明
DB time=DB CPU+ DB waiting time(no-idle time)
注意:AWR中的DB time等于所有session DB time之和(除去后台进程)
SQL> select SESSION_ID,NAME,P1,P2,P3
2 from v$active_session_history ash, v$event_name enm
3 where ash.event#=enm.event#
4 and SESSION_ID=194;
SESSION_ID NAME P1 P2 P3
---------- ----------------------------------- ---------- ---------- ----------
194 db file sequential read 202 106634 1
194 db file sequential read 202 53541 1
194 db file sequential read 202 204387 1
194 db file sequential read 202 242316 1
194 db file sequential read 202 251848 1
194 db file sequential read 202 201689 1
194 db file scattered read 45 480505 16
194 db file scattered read 44 169145 16
194 db file scattered read 45 32489 16
194 db file scattered read 44 316585 16
194 db file scattered read 46 255817 16
194 db file scattered read 47 204105 16
194 db file scattered read 44 236633 16
194 db file scattered read 46 222761 16
194 db file scattered read 44 232969 16
194 db file scattered read 44 230489 16
194 db file scattered read 44 227673 16
194 db file scattered read 45 177785 16
194 db file scattered read 44 292121 16
194 db file scattered read 45 136041 16
194 db file scattered read 28 17177 16
194 db file scattered read 47 233513 16
194 db file scattered read 44 222233 16
194 db file scattered read 46 211289 16
194 db file scattered read 47 152889 16
194 db file scattered read 45 164921 16
194 db file scattered read 47 149609 16
194 db file scattered read 44 312873 16
194 db file scattered read 45 157289 16
194 db file scattered read 45 155225 16
194 db file sequential read 50 30400 1
194 db file sequential read 43 8763 1
194 db file scattered read 36 518441 16
194 db file scattered read 37 504992 4
194 db file scattered read 38 195257 16
194 db file scattered read 37 209776 9
194 db file scattered read 41 119561 16
194 db file scattered read 39 62041 16
194 db file scattered read 41 4765 2
194 db file scattered read 38 438857 16
194 read by other session 38 335097 1
194 latch: cache buffers chains 1.3835E+19 122 0
194 db file sequential read 27 52122 1
194 db file sequential read 41 140105 1
194 read by other session 36 97230 1
194 db file scattered read 38 17369 16
194 db file sequential read 37 1889 1
47 rows selected.
看AWR的时候,可以拿DB time和采样时间间隔做比较,如果DB time高出采样时间间隔很多,说明数据库负载很大
同样,可以拿DB time和DB CPU比较,如果 DB time高出DB CPU很多,说明数据库出现了显而易见的性能问题
因为等待时间过多。
What is DB time in AWR?的更多相关文章
- ocp 1Z0-042 121-178题解析
121. You want to create a new optimized database for your transactional production environment to be ...
- ocp 1Z0-043 61-130题解析
61. You are working in an online transaction processing (OLTP) environment. You realize that the sal ...
- [转帖]AWR报告参数:DB TIME和DB CPU
AWR报告参数:DB TIME和DB CPU http://blog.itpub.net/12679300/viewspace-1182396/ 一.前言:AWR报告是了解ORACLE运行的一个重要报 ...
- Oracle AWR报告提取方法
本文旨在用来指导项目人员自行提取Oracle数据库的AWR报告. 1.当前连接实例的AWR报告提取:@?/rdbms/admin/awrrpt 2.RAC的其他实例AWR报告提取:@?/rdbms/a ...
- ORACLE AWR结合ASH诊断分析enq: TX - row lock contention
公司用户反馈一系统在14:00~15:00(2016-08-16)这个时间段反应比较慢,于是生成了这个时间段的AWR报告, 如上所示,通过Elapsed Time和DB Time对比分析,可以看出在这 ...
- oracle rac自动生成awr
cat awr.sql ######EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE); FALSE为ra ...
- Oracle的AWR报告分析
* 定义:awr报告是oracle 10g下提供的一种性能收集和分析工具,它能提供一个时间段内整个系统资源使用情况的报告,通过这个报告,我们就可以了解一个系统的整个运行情况,这就像一个人全面的体检报告 ...
- ORACLE AWR报告数据的导入导出实践
关于AWR的快照数据可以导出.导入,一直没有亲手实践过.今天动手测试了一下如何导出.导入AWR数据,将AWR的数据从一测试服务器,导入到另外一台测试服务器. SQL> @?/rdbms/admi ...
- ORACLE AWR报告生成过程出现多个实例记录分析
在一次生成AWR报告中,发现在"Instances in this Workload Repository schema"部分,出现了多个实例记录信息(host敏感信息被用host ...
随机推荐
- HTTP下载图片
网上有专门写的http下载的C++代码,但是我发现windows自带的http下载,一行代码就搞定,非常简单,目前为止使用正常. 首先包含头文件和lib文件 #include <urlmon.h ...
- [less]用webstorm自动编译less产出css和sourcemap
css产出sourcemap有什么用呢,可能大家要问这个问题了. 请移步这里 https://developers.google.com/chrome-developer-tools/docs/css ...
- js中的数据类型和判断数据类型
js中的数据类型和判断数据类型 基本数据类型,六大基本数据类型:字符串(String).数字(Number).布尔(Boolean).对象(Object).空(Null).未定义(Undefined) ...
- jq对页面元素进行排序
利用sort函数排序: var div = $('.media').toArray().sort(function(a,b){ return parseInt($(a).find('.info .pr ...
- Highcharts 基本区域图;Highcharts 使用负数区域图;Highcharts 堆叠区域图;Highcharts 百分比堆叠区域图
Highcharts 基本区域图 配置 chart chart.type 配置项用于设定图表类型,默认为 "line",本章节我们使用 'area'. var chart = { ...
- SecureCRT 7.0破解
激活步骤如下: 1)准备工作:安装好SecureCRT软件,下载并得到该注册机. 2)保持SecureCRT软件关闭(运行的话会提示你正在运行的,关闭就好). 3)将注册机拷贝到你的CRT软件的安装的 ...
- T-sql 中 truncate 、delete与drop操作数据库的区别
1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 具体使用语法如下: --删除 ...
- MySQL Block Nested-Loop Join(BNL)
5.5 版本之前,MySQL本身只支持一种表间关联方式,就是嵌套循环(Nested Loop).如果关联表的数据量很大,则join关联的执行时间会非常长.在5.5以后的版本中,MySQL通过引入BNL ...
- vue.js 源代码学习笔记 ----- 工具方法 env
/* @flow */ /* globals MutationObserver */ import { noop } from 'shared/util' // can we use __proto_ ...
- GreenPlum的Primary和Mirro切换恢复
gp节点出现了acting as primary change tracking错误,判断是节点primary和mirror发生了切换 1.没有配置gp的日志,无法获取为什么切换了,待会儿看看默认日志 ...