在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性能诊断艺术》这本书是Oracle数据库管理员(DBA)进阶道路上的重要参考资料。它深入探讨了如何有效地诊断和解决Oracle数据库系统的性能问题,对于优化数据库性能、保障业务稳定运行具有极高的价值。以下是对...
### Oracle 自带的性能诊断工具(AWR报告) #### 概述 AWR(Automatic Workload Repository)报告作为Oracle 10g及以上版本提供的一种强大的性能收集与分析工具,在数据库性能管理和故障排查方面发挥着至关重要的...
#### 三、性能诊断工具 ##### 1. AWR (Automatic Workload Repository) - **简介**:AWR是Oracle提供的一套自动化的性能监控工具,能够记录数据库的运行状态,并生成详细的性能报告。 - **应用场景**:AWR报告包含...
Oracle性能诊断工具RDA(Real-Time Diagnostics and Advice)是Oracle数据库系统中的一款强大工具,主要用于识别和解决数据库性能问题。RDA集成了多种诊断功能,可以帮助DBA(数据库管理员)快速定位性能瓶颈,提高...
### Oracle 导出某时间段AWR与ASH性能报告操作日志 #### 一、Oracle AWR与ASH简介 ##### 1.1 AWR (Automatic Workload Repository) 在Oracle数据库环境中,AWR是一种自动化的工具,它收集并存储有关数据库工作...
Oracle的Active Session History(ASH)报告是性能分析的重要工具,尤其在Oracle 11g数据库环境中。ASH报告提供了对数据库实例中活动会话的详细历史记录,帮助DBA(数据库管理员)快速定位性能问题,优化数据库操作...
3. ADDM(Automatic Database Diagnostic Monitor)是Oracle的自动化诊断工具,它基于AWR和ASH的数据,自动分析数据库性能问题,并提出建议。ADDM在每次AWR快照之间自动运行,生成诊断报告,列出可能的问题和解决...
通过深入学习《Oracle 11g 性能诊断艺术》及相关文档,如`51CTO下载-Oracle11g维护培训课件.rar`和`51CTO下载-Oracle SQL优化.zip`,你将掌握一套完整的Oracle性能调优方法论,从而在面对复杂性能问题时游刃有余。...
Oracle 整体性能获取工具...Oracle 整体性能获取工具可以帮助用户快速获取 Oracle 数据库的性能报告,了解数据库的整体性能、SQL 执行情况、等待事件和优化建议等信息,为数据库的性能优化和问题诊断提供了有力的支持。
在《Oracle Wait Interface性能诊断与调整实践指南》中,作者还会详细讨论如何使用Oracle的其他工具,如SQL Trace、TKPROF、AWR(Automatic Workload Repository)和ASH,以及10046、10053等诊断事件,以进一步增强...
DBDM是Oracle 11g中一个集成了AWR、ASH和其它诊断工具的服务,它提供了一个统一的界面来分析和诊断数据库问题。DBDM可以帮助管理员快速识别和解决问题,无需深入理解底层复杂的数据库结构。 四、SQL Performance ...
Oracle性能优化工具整理 Oracle数据库作为全球广泛使用的商业数据库管理系统,其性能优化对于确保数据库稳定运行、提高应用响应速度至关重要。性能优化不仅需要通过合理设计数据库模式、编写高效SQL语句等手段,而且...
- **概述**:AWR是Oracle提供的一种性能监控工具,通过定期收集系统运行状态的快照信息,存储在SYSAUX表空间中,用于后续分析和诊断数据库性能问题。AWR快照默认每小时生成一次,并且保留7天的历史数据。 - **用途*...
- **ASH(Automatic SQL Tuning)**: ASH记录了SQL语句的执行情况,包括执行次数、等待时间等,有助于定位性能瓶颈。 - **SQL Trace**: 使用SQL Trace可以捕获SQL语句及其执行细节,这对于深入分析SQL性能非常有用。 -...
通过学习《Oracle性能优化绝版好书:高级OWI与ORACLE性能调整》,读者将掌握如何运用OWI进行性能监控,以及如何结合其他Oracle工具和方法,系统性地解决性能问题,提升数据库的整体运行效率。这本书对于Oracle DBA和...
3. ADDM工具是Oracle的自动化诊断工具,它结合AWR和ASH的数据,分析出最需要优化的部分,并提供针对性的调整建议。ADDM能够自动检测并解决问题,减少了手动分析的工作量。在数据库出现问题时,ADDM报告是首选的故障...
Oracle报表生成器是一款专为Oracle数据库管理员设计的实用工具,它能够自动收集并分析数据库性能数据,生成AWR(Automatic Workload Repository)和ASH(Active Session History)等关键报告。这些报告对于理解...
总结来说,Oracle性能日志的收集涵盖了多种方法,从自动的AWR和ASH到手动的PL/SQL脚本,再到各种监控视图和第三方工具。理解并熟练运用这些工具和方法,是Oracle数据库管理员日常维护工作中的重要环节,能够有效地...