在Oracle10g中增加了dba_his_*类统计信息表,在瓶颈时间过时了的时候,可以参考这些表来诊断瓶颈来源。

1、确定时间段:

select * from

dba_hist_snapshot

where snap_idbetween&snapid1and&snapid2

order by end_interval_time;

例如以上&snapid1and&snapid2的值分别为10910 and 10913

2、对瓶颈时间段的等待时间进行汇总排序:

select

event,count(*) from dba_hist_active_sess_history

where snap_id

between 10910 and 10913

group by event

order by 2;[@more@]

3、根据排序情况,确定等待时间并根据确定等待时间,进一步观察相关字段内容:

select * from

dba_hist_active_sess_history

where snap_id

between 10910 and 10913

and event='enq: TX -

row lock contention'

order by

sample_time;

4、明确该等待时间相关的SQL_ID:

select

sql_id,count(*) from dba_hist_active_sess_history

where snap_id

between 10910 and 10913

and event='enq: TX -

row lock contention'

group by sql_id;

5、根据SQL_ID找出SQL语句:

select * from

dba_hist_active_sess_history

where snap_id

between 10910 and 10913

and event='enq: TX -

row lock contention'

and

sql_id='fhdxrqd4stwqk';

6、查看SQL当时对应的执行计划:

select id,operation,

options,object_owner,object_name,object_type,cost,cardinality,bytes,cpu_cost,io_cost

from

DBA_HIST_SQL_PLAN where sql_id='djpvmvjddy8av'

order by id;

也可以调用dbms_xplan.display_awr包来查看执行计划:

SQL> select * from

table(dbms_xplan.display_awr('djpvmvjddy8av'));

7、也可查看类此对象的更多SQL:

select * from

dba_hist_active_sess_history

where snap_id

between 10910 and 10913

and sql_text like

'%QRTZ_SCHEDULE%';

根据以上结果对相应的SQL或等待时间进行优化。

oracle dba_hist_snapshot,通过dba_hist_*来进行诊断相关推荐

  1. Oracle Internal Event:10235 Heap Checking诊断事件

    10235 (check memory manager internal structures) event内部诊断事件,当oracle SGA内存堆heap 管理操作发生错误时会触发该检测事件(Fo ...

  2. Oracle Internal Event:10200 Consistent Read诊断事件

    10200(consistent read buffer status)内部诊断事件可以用于探测一致性读CR(consistent read)块的访问情况,虽然cr读的统计信息可以从v$sysstat ...

  3. ORACLE ORA-28545: 连接代理时 Net8 诊断到错误 解决办法

    oralce透明网关很好很强大,可以把多种数据库当成一个数据库来使用,比如在你的oracle数据库里面想和db2里面的数据一起使用,通过透明网关就可以将db2连接到oracle中,具体怎么配置可以参见 ...

  4. Oracle EBS R12 创建会计科目失败诊断和处理

    前言:Oracle EBS R12 财务系统中运维工作中比较常见的问题就是创建会计科目失败,本文对资产模块和应付模块创建会计科目的一般情况进行总结. 1.创建会计科目失败一般场景 1.1 期间未打开 ...

  5. linux oracle io 查看,Linux上Oracle是否使用异步io的诊断

    客户的数据库IO负载较重,检查后发现并未设置异步IO. 整个数据库的负载都集中在IO相关的等待上: Top 5 Timed Foreground Events Event Waits Time(s) ...

  6. oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题

    什么是high version cursor(高版本游标)?对于一个特定的游标有多少个版本就属于高版本游标是没有明确定义的.对于不同的系统有不同 什么是high version cursor(高版本游 ...

  7. oracle异步sql,Linux上Oracle是否使用异步io的诊断

    客户的数据库IO负载较重,检查后发现并未设置异步IO. 整个数据库的负载都集中在IO相关的等待上: Top 5 Timed Foreground Events EventWaitsTime(s)Avg ...

  8. oracle查询导致 gc等待,如何诊断Oracle RAC系统中的等待事件gc cr multi block request?...

    AIX上: #no –a udp_recvspace udp_sendspace o 设置udp_sendspace >=[(DB_BLOCK_SIZE * DB_FILE_MULTIBLOCK ...

  9. Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具

    1.自己主动诊断工作流: 通过一个始终处于打开状态的内存中跟踪工具,数据库组件能够在第一次出现严重错误故障时捕获诊断数据.系统将自己主动维护一个称为"自己主动诊断资料档案库"的特殊 ...

  10. Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明

    一.自动诊断资料档案库(ADR) 1.1 ADR 说明 ADR (AutomaticDiagnostic Repository) ,ADR 是一个基于文件的资料档案库,用于存放数据库诊断数据(如跟踪. ...

最新文章

  1. 动态参数与静态参数的判断、修改
  2. 新站长更要努力做好SEO相关的优化
  3. C++ Primer 5th笔记(8)chapter8 类:IO库-流的缓冲区
  4. 云原生五大趋势预测,K8s 安卓化位列其一
  5. Oracle计划任务JOB不自动执行的问题
  6. linux 修改ssh banner
  7. JDOM/XPATH编程指南
  8. mysql常用的hint
  9. 阿里云上到底能运行SAP哪些产品?
  10. 疯子的算法总结(六) 复杂排序算法 ② 桶排序
  11. oracle PL/SL编程基础
  12. 国内开源落后?那是不是要做点什么。
  13. JavaGUI版聊天室
  14. 代码比较工具三款功能强大Beyond compare、DiffMerge、WinMerge
  15. JS 模拟手机页面文件的下拉刷新
  16. 服务器项目描述,web服务器项目描述
  17. safari浏览器的兼容
  18. 王健林身价暴跌百亿,儿子却在撒钱!
  19. 淘晶驰串口屏入门(四)进度条、滑块、定时器、单选框、复选框、二维码
  20. navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效

热门文章

  1. VMware虚拟机如何全屏显示
  2. 微博、微信朋友圈、QQ空间功能对比
  3. 在SQL Sever中使用form membership认证
  4. 第三阶段应用层——1.5 数码相册—使用FreeType在LCD上显示单个字符
  5. Zynq7000(XC7Z045FF900)硬件开发完整指南
  6. matlab-俄罗斯方块小游戏
  7. tfrecord 训练时报错 DataLossError corrupted record at 12
  8. 毕业生的找工作的时候住宿问题是如何解决的
  9. 零极点分布对系统频率响应的影响
  10. 打开计算机网络自动连接,电脑如何自动连接上网 开机自动拨号连接宽带的方法【步骤】...