在Oracle 10g
的性能调优时,可以使用到的工具主要有三个,分别为ASH(active session history)
、AWR(automatic
workload repository)
和ADDM(automatic database diagnostic
monitor)
。这些工具比9i
中的statspack
有很大提升。
试想,在数据库出现性能问题,慢得要死的时候,最需要知道的就是系统慢在哪里。知道得越快越好。如果等待某个取样时间到了之后才能分析,这不是一个令人满意的解决过程。
以前
遇到这种情况,我们会去手工查动态性能视图,但在10g
中,使用ASH就可以快速定位问题。
ASH
工具主要查询的是v$active_session_history
视图,根据这个视图我们可以延伸出很多功能。
(miki西游 @mikixiyou 原文http://mikixiyou.iteye.com/blog/1630056
)
-----------------------------------------
--
-- 最近5分钟消耗CPU Top 10
--
-----------------------------------------
SQL> select * from
(
select session_id, session_serial#, count(*)
from v$active_session_history
where session_state= 'ON CPU' and
sample_time > sysdate - interval '5' minute
group by session_id, session_serial#
order by count(*) desc
)
where rownum <= 10;
--------------------------------------------
--
-- 最近5分活动会话Top 10
--
--------------------------------------------
SQL> select * from
(
select session_id, session_serial#,count(*)
from v$active_session_history
where session_state='WAITING' and
sample_time > sysdate - interval '5' minute
group by session_id, session_serial#
order by count(*) desc
)
where rownum <= 10;
这两个查询可以查询出数据库实例中最近5分钟的活动会话,但这些是什么应用的连接和他们执行什么SQL,需要进一步分析。
--------------------
--
-- Who is that SID?
--
--------------------
set lines 200
col username for a10
col osuser for a10
col machine for a10
col program for a10
col resource_consumer_group for a10
col client_info for a10
SQL> select serial#,
username,
osuser,
machine,
program,
resource_consumer_group,
client_info
from v$session where sid=&sid;
-------------------------
--
-- What did that SID do?
--
-------------------------
SQL> select distinct sql_id, session_serial# from v$active_session_history
where sample_time > sysdate - interval '5' minute
and session_id=&sid;
----------------------------------------------
--
-- Retrieve the SQL from the Library Cache:
--
----------------------------------------------
col sql_text for a80
SQL> select sql_text from v$sql where sql_id='&sqlid';
通过ASH,可以快速定位数据库实例的活动情况。
分享到:
相关推荐
Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析 Oracle 性能分析利器ASH报告收集与简析
Oracle 10g用ASH生成性能报告 Oracle 10g用ASH生成性能报告
Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析 Oracle AWR与ASH性能报告深入解析
关于Oracle性能优化的相关工具的介绍,如AWR,ASH,ADDM等的详细原理介绍及实践使用,非常有用
本文介绍了Oracle常用分析诊断工具。在测试通过的基础上,采用讲解结合实例的方式,对分析诊断工具方法、命令、步骤和关键点进行了说明和讲解,读者只需按照本文进行学习,即可完成Oracle常用分析诊断工具的初步学习...
Oracle数据库,导出某时间段AWR与ASH性能报告操作日志,用于对oracle数据库进行性能分析。
Oracle 12c ASH 学习手册
学用ORACLE AWR 和 ASH 特性
BLOG_Oracle_lhr_【ASH】如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据.pdfBLOG_Oracle_lhr_【ASH】如何导出视图DBA_HIST_ACTIVE_SESS_HISTORY的查询结果数据.pdf
第1章 引起数据库性能问题的因素 1 1.1 软件设计对数据库的影响 1 1.1.1 软件架构设计对数据库性能的影响 1 ...13.3.2 ash性能报告分析 405 13.4 小结 416 附录a 常见的等待事件 417 后记 关于数据库的学习方法 434
Hint.pdf Oracle中rowid与rownum的使用.pdf Oracle优化 之 索引.pdf Oracle优化器.pdf STATSPACK详解.pdf 学用ORACLE_AWR和ASH特性.pdf 执行计划.pdf
oracle报表生成器,自动生成AWR,ASH等报告
第1章 引起数据库性能问题的因素 1 1.1 软件设计对数据库的影响 1 1.1.1 软件架构设计对数据库性能的影响 1 ...13.3.2 ash性能报告分析 405 13.4 小结 416 附录a 常见的等待事件 417 后记 关于数据库的学习方法 434
Oracle snapper ASH监控工具-附件资源
Oracle模拟ASH___下载.zip
针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,本书从基础知识入手...
支持的数据库:Oracle,PostgreSQL目录快速开始 为您的数据库下载JDBC驱动程序( , ) 解压缩二进制存档并运行ASH-Viewer.jar 打开连接对话框,并用数据填充它们(Oracle数据库的URL: jdbc:oracle:thin:@host...