Oracle Real Time SQL Monitor(4)


Global Stats
=================================================
| Elapsed |  Cpu  |  Other  | Fetch | Buffer |
| Time(s) | Time(s) | Waits(s) | Calls |  Gets  |
=================================================
|      34 |      34 |    0.11 |    1 |  294K |
=================================================

SQL Plan Monitoring Details (Plan Hash Value=3534073399)
======================================================================================== =====================================================
| Id |          Operation          |      Name      |  Rows  | Cost  |  Time    |  Start  | Execs |  Rows  | Activity | Activity Detail |
|    |                              |                | (Estim) |      | Active(s) |  Active |      | (Actual) |  (%)    |  (# samples)  |
======================================================================================== =====================================================
|  0 | SELECT STATEMENT            |                |        |      |        28 |      +7 |    1 |        1 |          |                |
|  1 |  SORT AGGREGATE            |                |      1 |      |        33 |      +2 |    1 |        1 |    40.00 | Cpu (14)        |
|  2 |    APPROXIMATE NDV AGGREGATE |                |    24M | 80111 |        35 |      +0 |    1 |      39M |    54.29 | Cpu (19)        |
|  3 |    MAT_VIEW ACCESS FULL    | LV_CROPFUNDPAR |    24M | 80111 |        28 |      +7 |    1 |      39M |    2.86 | Cpu (1)        |
======================================================================================== =====================================================


在Global Information部分,Status显示为DONE,说明SQL语句已经执行完成了。Time Active(s)列 显示操作已经执行了多长时间。Start Active列,以秒为单位,代表SQL语句执行的开始。在这个报 告中,MAT_VIEW ACCESS FULL是ID 3是第一个被执行的(+7s Start Active)并且执行了28秒。

Start列显示该操作被执行的次数。Rows(Actual)列显示被处理的行数,Rows(Estim)列显示优化器所 评估的行数。Memory与Temp列指示每个操作所消耗的内存与临时空间的大小。

Activity(percent)与Activity Detail(sample #)是通过连接v$sql_plan_monitor与v $active_session_history视图而得到。Activity(percent)显示执行计划中每个操作所占数据库时间 的百分比。Activity Detail(sample#)显示了活动的属性(比如CPU或等待事件)。在这个报告中,ID 2消耗了的数据库时间百分比为54.29%(APPROXIMATE NDV AGGREGATE)。活动由19samples组成。最 后一列,Progress,显示了v$session_longops视图所监控到的操作信息。

启用与禁用SQL监控
SQL监控功能当statistics _level参数被设置为all或typical(缺省值)时缺省是开启的。额外, control_management_pack_access参数必须设置为diagnostic+tuning(缺省值),因为SQL监控是 Oracle数据库优化包的一个功能。SQL监控对于所有运行时间长的查询会自动启动。

有两种语句级别的hint可以用来强制或者阻止SQL语句被监控。为了强制SQL监控,使用monitor hint:
select /*+ MONITOR */ from dual;

这种hint只有当control_management_pack_access参数被设置为diagnostic+tuning时才生效。为了 阻止SQL语句被监控可以使用no_monitor hint。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/6cedb5f309b1366abf0c7634ebb81ca4.html