• oracle系统负载指标DB_TIME


               DB Time 是awr中一个重要指标,DB Time表示操作系统耗费在数据库非线程等待的时间(DB Wiat Time)和数据库计算时间(DB Cpu Time)总和。一个正常健康的数据库,等待事件DB cpu应该在最前面,否则说明系统大部分时间在等待事件上。

              Cores(CPU核心数)
              Elapsed(消耗的时间,未半小时或者一小时)
              DB Time(DB Time(请求时间)= DB Wait Time(DB等待时间)+ DB CPU Time(DB CPU服务时间))

               判断数据库是否处于繁忙状态
               即DB TIME/ ELAPSED 所得结果与Core比较,
               当大于CPU核心数,则代表数据库比较繁忙,Loading较高
               当小于CPU核心数,则代表数据库负荷正常

    在Linux中查看cpu信息保存在cat  /proc/cpuinfo
    逻辑cpu = 物理cpu * cpu核数  ,开启超线程逻辑cpu是之前的两倍。
    physical id只有0,说明只有1个物理cpu,如果core id也只有0,说明是单线程,每个内核有两个逻辑cpu,说明开启了超线程。

            操作系统上运行的进程大部分时间对于cpu来讲,都是等待cpu的执行,因为这个时间太短,所以给我们的感觉就是一直在运行,这个等待过程就是线程等待(Idle),
            如果用top命令查看进程,可以发现基本都是状态为S也就是(Sleep)状态的,实际上,你也很难从top命令看到runing的进程,如果有个进程一直是running,那肯定是不正常的,会一直占着cpu。
     

    查询近期数据库的DB_TIME和CPU使用情况

    col V_DATE for a20
    col DB_CPU_PCT for a10

    select to_char(end_interval_time,'yyyy-mm-dd hh24:mi') v_date,a.instance_number inst_id,round((b.value-a.value)/1000000/60/4,2) v_dbtime,
    round((b.value-a.value)/1000000/60/4/(64*15/100),2)||'%' db_cpu_pct
    from dba_hist_sys_time_model a,dba_hist_sys_time_model b ,dba_hist_snapshot c
    where a.stat_name='DB time' and b.stat_name='DB time' 
          and a.dbid=b.dbid and a.dbid=(select dbid from v$database)
          and a.instance_number= b.instance_number 
          and c.instance_number=b.instance_number
          and a.snap_id=c.snap_id
          and b.snap_id=c.snap_id+1 
          and C.END_INTERVAL_TIME>=sysdate-7
          and a.instance_number=1
          order by v_dbtime desc; 

    查看DB_TIME和CPU使用高时段的等待事件和sql

    select * from (
    select sql_id,event,count(*)
    from dba_hist_active_sess_history
    where sample_time between to_date('2022-07-31 22:00','yyyy-mm-dd hh24:mi:ss') and
       to_date('2022-08-01 00:06:00','yyyy-mm-dd hh24:mi:ss') 
    group by sql_id,event
    order by 3 desc )
    where rownum < 10;


    select sql_text from v$sqlarea where sql_id='g5md52uhqu94b0';

  • 相关阅读:
    QT中表格控件使用
    【数据结构】带头双向循环链表基本操作的实现(C语言)
    JavaScript中Promise、事件循环、宏任务微任务综合面试题详解
    30、ES集成到项目中
    《CGNF: CONDITIONAL GRAPH NEURAL FIELDS》阅读笔记
    [2023.09.18]: Rust中类型转换在错误处理中的应用解析
    ubuntu20.04开机运行java的sh脚本
    【数据库系统概论】第九章关系查询处理何查询优化
    为何学linux及用处
    2023-9-14 最长上升子序列
  • 原文地址:https://blog.csdn.net/huoran668/article/details/126329463