@
目录
1、SQL Monitor简介
2、捕捉sql的前提
3、SQL Monitor 参数设置
4、SQL Monitor Report
4.1、SQL_ID获取
4.2、Text文本格式
4.3、Html格式
4.4、ACTIVE格式
4.5 SQL Monitoring list
5、SQL Monitor Report查询
5.1、查看所有的sql monitor report
5.2、查看某个sql的sql monitor report
5.3、查看某个sql的整体性能
5.4、查看整个系统的性能
1、SQL Monitor简介
sql monitor是oracle官方提供的自动监控符合特定条件的SQL,用于收集执行时的细节信息的监控工具,常用于sql调优和系统性能监控
2、捕捉sql的前提
sql monitor 捕捉sql的前提:
并行执行的sql语句
单次执行消耗的CPU或IO超过5秒
statistics_level级别必须是TYPICAL 或者ALL
使用/* +MONITOR*/ HINT的SQL语句
3、SQL Monitor 参数设置
STATISTICS_LEVEL必须设置为:’TYPICAL’(缺省)或者 ‘ALL’
CONTROL_MANAGEMENT_PACK_ACCESS设置为:’DIAGNOSTIC+TUNING’
查看statistics_level参数
建议还是改变Session就可以
查看参数CONTROL_MANAGEMENT_PACK_ACCESS
4、SQL Monitor Report
本博客采用DBMS_SQLTUNE包DBMS_SQLTUNE.report_sql_monitor的方式获取,报告格式有:’TEXT’,’HTML’,’XML’ ,’ACTIVE’,其中’ACTIVE’只在11g R2以后才支持
4.1、SQL_ID获取
sql monitor使用,必须在sql中使用/* +MONITOR*/ Hint,然后数据会存在v$sql_monitor表里
随意找条sql,注意要加/*+ moniotr*/
提供sql查询,获取sql_id
4.2、Text文本格式
将上面查询到的sql_id改下,然后执行如下SQL:
获取到text格式的sql monitor
4.3、Html格式
获取到对应报告,可以看到执行计划、Buffer Gets 等等信息
4.4、ACTIVE格式
ACTIVE格式需要下载相应的flash组件、脚本,详细见SQL Monitor Report 使用详解
4.5 SQL Monitoring list
如果要获取所有sql monitor,就可以使用如下SQL:
5、SQL Monitor Report查询
提供sql monitor常用的查询脚本
5.1、查看所有的sql monitor report
查看所有的sql monitor report
5.2、查看某个sql的sql monitor report
查看某个sql的sql monitor report
5.3、查看某个sql的整体性能
查看某个sql的整体性能
5.4、查看整个系统的性能
查看整个系统的性能