Oracle 数据库中如何收集ASH Report

Oracle 数据库中如何收集ASH Report

(版权声明,本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处;否则请与本人联系,违者必究)

ASH(Active Session History 活动会话历史记录)临时地保存系统当前的性能诊断信息。和AWR不同,ASH是保存内存之中, 当ASH分配的空间用光的时候,新的记录会覆盖掉旧的记录;AWR会有延迟,看的历史的性能诊断信息,最大可能有一小时的延迟,而ASH是记录当前的最新的性能诊断信息的。ASH 每秒钟收集一次当前处于非空闲等待事件的、活动状态的、session的信息,并保存在V$ACTIVE_SESSION_HISTORY视图中。

 

如何收集设置和收集ASH Report对开发人员和DBA来说都是非常重要的,这里记录下基础的收集方式,以便查阅和其他人参考。

1.      链接到sqlplus,如下图


2.      执行文件@$ORACLE_HOME/rdbms/admin/ashrpt.sql;如果在EBS服务器上切环境变量设的有问题的话,可以使用路径类似于

@/u01/oracle/mydev213/db/tech_st/11.1.0/rdbms/admin/ ashrpt.sql


3.      输入报表的输出类型,默认是html,一般不用改,直接回车。

4.      下面输入要收集的从现在开始算多长时间之前的信息,比如这里写的-30,就表示从30分钟之前开始算。


5.      然后会让我们输入要收集多长时间的信息,默认是到当前时间。我这里直接回车,就表示从30分钟之前到现在当前时间内的性能诊断信息会被收集。如果你只想要10分钟的,那就输入10,那就是说,会收集从30分钟之前到20分钟之前之间的诊断信息。

 

6.      下面是让我们输入ASH报表的名称,可以改为更有意义的名称。我一般用默认的,里面包含了日期和时间信息。


7.      文件生成在当前目录。


8.      打开ASH report,如下,包含了所有需要的信息。


郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。