SQL 监控是根据特定 SQL 的多次执行或特定执行中收集的监控信息,来对系统的性能问题作出诊断。SQL 相关的监控信息,主要从 SQL 请求维度和执行计划维度记录实际执行过程中的相关信息。主要的SQL监控工具如下:

    • (g)v$sql_audit

    (g)v$sql_audit是基于虚拟表__all_virtual_sql_audit的视图, 该虚拟表对应的数据存放在一个可配置的内存空间中,能够记录并显示每一次SQL请求的来源、执行状态及统计信息,具体机制及说明见sql_audit 介绍,基于(g)v$sql_audit可以查看每次请求客户端来源,执行server信息,执行状态信息,等待事件及执行各阶段耗时等。通过gv$sql_audit可以分析RT突然抖动原因分析查询中等待事件查看集群SQL请求流量是否均衡等等,更多可参见SQL诊断分析举例

    • Plan Cache相关视图

    Plan Cache相关视图包含记录执行计划的缓存状态、执行统计的相关信息及计划信息,这些视图的数据均来自Plan Cache,具体Plan Cache介绍见执行计划缓存介绍。Plan Cache相关视图主要有:

    SQL Trace能够交互式的提供上一次执行的SQL请求执行过程信息及各阶段的耗时。具体说明及使用示例见[SQL Trace](SQL Trace)一节。