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