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很多,说明数据库出现了显而易见的性能问题

因为等待时间过多。

 参考: http://blog.csdn.net/robinson1988/article/details/6077944



本文转自 张冲andy 博客园博客,原文链接:http://www.cnblogs.com/andy6/p/7481754.html    ,如需转载请自行联系原作者
相关文章
|
关系型数据库 MySQL Linux
MySQL安装教程最详细
MySQL安装教程最详细
753 0
|
数据采集 JavaScript Java
CompletableFuture异步编排,你还不会?
本文介绍了同步与异步编程的概念,探讨了在复杂业务场景中使用异步编排的重要性。通过对比 `Future` 与 `CompletableFuture`,详细讲解了 `CompletableFuture` 的多种方法,如 `runAsync`、`supplyAsync`、`whenComplete`、`exceptionally` 等,并展示了如何通过 `CompletableFuture` 实现异步任务的组合与异常处理。最后,通过实战案例演示了如何利用线程池与 `CompletableFuture` 优化商品详情页的查询效率,显著减少响应时间。
353 3
CompletableFuture异步编排,你还不会?
|
存储 编解码 PyTorch
Transformers 4.37 中文文档(八十七)(1)
Transformers 4.37 中文文档(八十七)
50 2
|
网络协议 安全 Linux
如何修复 SSH Client_loop: send disconnect: Broken pipe Error
如何修复 SSH Client_loop: send disconnect: Broken pipe Error
4606 1
|
SQL 安全 网络协议
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
2022渗透测试-推荐一款漏洞扫描工具-AWVS安装与使用
|
Dart
Dart之 类与对象
Dart之 类与对象
71 0
Dart之 类与对象
|
负载均衡 安全 算法
直播平台开发的基础,值得一提的安全三大属性
直播平台开发的基础,值得一提的安全三大属性
|
7天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1165 3
|
6天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
841 12