oracle dba_hist_snapshot,通过dba_hist_*来进行诊断
在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_*来进行诊断相关推荐
- Oracle Internal Event:10235 Heap Checking诊断事件
10235 (check memory manager internal structures) event内部诊断事件,当oracle SGA内存堆heap 管理操作发生错误时会触发该检测事件(Fo ...
- Oracle Internal Event:10200 Consistent Read诊断事件
10200(consistent read buffer status)内部诊断事件可以用于探测一致性读CR(consistent read)块的访问情况,虽然cr读的统计信息可以从v$sysstat ...
- ORACLE ORA-28545: 连接代理时 Net8 诊断到错误 解决办法
oralce透明网关很好很强大,可以把多种数据库当成一个数据库来使用,比如在你的oracle数据库里面想和db2里面的数据一起使用,通过透明网关就可以将db2连接到oracle中,具体怎么配置可以参见 ...
- Oracle EBS R12 创建会计科目失败诊断和处理
前言:Oracle EBS R12 财务系统中运维工作中比较常见的问题就是创建会计科目失败,本文对资产模块和应付模块创建会计科目的一般情况进行总结. 1.创建会计科目失败一般场景 1.1 期间未打开 ...
- linux oracle io 查看,Linux上Oracle是否使用异步io的诊断
客户的数据库IO负载较重,检查后发现并未设置异步IO. 整个数据库的负载都集中在IO相关的等待上: Top 5 Timed Foreground Events Event Waits Time(s) ...
- oracle父游标和子游标,诊断Oracle high version count(高版本游标)问题
什么是high version cursor(高版本游标)?对于一个特定的游标有多少个版本就属于高版本游标是没有明确定义的.对于不同的系统有不同 什么是high version cursor(高版本游 ...
- oracle异步sql,Linux上Oracle是否使用异步io的诊断
客户的数据库IO负载较重,检查后发现并未设置异步IO. 整个数据库的负载都集中在IO相关的等待上: Top 5 Timed Foreground Events EventWaitsTime(s)Avg ...
- 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 ...
- Oracle 自己主动诊断资料档案库 (ADR)、自己主动诊断工作流、ADRCI工具
1.自己主动诊断工作流: 通过一个始终处于打开状态的内存中跟踪工具,数据库组件能够在第一次出现严重错误故障时捕获诊断数据.系统将自己主动维护一个称为"自己主动诊断资料档案库"的特殊 ...
- Oracle 11g 新特性 -- 自动诊断资料档案库(ADR) 说明
一.自动诊断资料档案库(ADR) 1.1 ADR 说明 ADR (AutomaticDiagnostic Repository) ,ADR 是一个基于文件的资料档案库,用于存放数据库诊断数据(如跟踪. ...
最新文章
- 动态参数与静态参数的判断、修改
- 新站长更要努力做好SEO相关的优化
- C++ Primer 5th笔记(8)chapter8 类:IO库-流的缓冲区
- 云原生五大趋势预测,K8s 安卓化位列其一
- Oracle计划任务JOB不自动执行的问题
- linux 修改ssh banner
- JDOM/XPATH编程指南
- mysql常用的hint
- 阿里云上到底能运行SAP哪些产品?
- 疯子的算法总结(六) 复杂排序算法 ② 桶排序
- oracle PL/SL编程基础
- 国内开源落后?那是不是要做点什么。
- JavaGUI版聊天室
- 代码比较工具三款功能强大Beyond compare、DiffMerge、WinMerge
- JS 模拟手机页面文件的下拉刷新
- 服务器项目描述,web服务器项目描述
- safari浏览器的兼容
- 王健林身价暴跌百亿,儿子却在撒钱!
- 淘晶驰串口屏入门(四)进度条、滑块、定时器、单选框、复选框、二维码
- navicat哪个版本支持mysql8_Navicat连接MySQL8.0亲测有效
热门文章
- VMware虚拟机如何全屏显示
- 微博、微信朋友圈、QQ空间功能对比
- 在SQL Sever中使用form membership认证
- 第三阶段应用层——1.5 数码相册—使用FreeType在LCD上显示单个字符
- Zynq7000(XC7Z045FF900)硬件开发完整指南
- matlab-俄罗斯方块小游戏
- tfrecord 训练时报错 DataLossError corrupted record at 12
- 毕业生的找工作的时候住宿问题是如何解决的
- 零极点分布对系统频率响应的影响
- 打开计算机网络自动连接,电脑如何自动连接上网 开机自动拨号连接宽带的方法【步骤】...