如何通过awr,ash,addm报告查看oracle的异常sql语句

如何通过awr,ash,addm报告查看oracle的异常sql语句,第1张

AWR( Automatic Workload Repository )报告是对oracle的性能评定以及发现问题SQL语句的重要手段。 AWR报告的原理是基于oracle数据库的定时镜像功能。默认情况下,Oracle数据库后台进程会以一定间隔(一小时)收集系统当前状态镜像

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

Oracle可以通过多种方式来查看transaction执行过程,以下是其中一些方法:

1. 使用SQL Trace功能:可以通过在session级别启用SQL Trace功能,来记录所有SQL语句的执行过程,包括事务的提交和回滚等信息。可以使用如下命令来启用SQL Trace:

```

ALTER SESSION SET SQL_TRACE=TRUE

```

启用SQL Trace后,会在数据库服务器上生成一个跟踪文件(.trc),通过解析该文件可以了解transaction的执行情况

2. 使用V$SESSION_LONGOPS视图:V$SESSION_LONGOPS视图可以显示当前正在执行的复杂或长时间运行的 *** 作的进度信息。可以过滤出涉及transaction的 *** 作,以了解其执行情况。

3. 使用DBMS_MONITOR包:DBMS_MONITOR是一个用于监控数据库活动的包,其中包含了多个子程序,其中一个子程序可以用于跟踪特定的SQL语句或事务,以便了解其执行情况。

4. 使用Enterprise Manager:Oracle Enterprise Manager提供了一个可视化的界面,可以方便地查看transaction执行情况,包括每个SQL语句的执行时间、计划、I/O等信息,也可以查看事务提交、回滚等 *** 作的详细情况。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9915261.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存