当前位置: 首页 > web >正文

如何收集Oracle DB SQL Monitor报告

使用条件

Oracle SQL Monitor 功能需要企业版许可证以及额外的诊断与调优选件(Diagnostics and Tuning Pack)授权。

SQL 监控需要满足以下条件:

1、拥有诊断与调优选件(Diagnostics and Tuning Pack)许可证。
2、将 STATISTICS_LEVEL 参数设置为 'TYPICAL' 或 'ALL'。
3、将 CONTROL_MANAGEMENT_PACK_ACCESS 参数设置为 'DIAGNOSTIC+TUNING'。

默认情况下,当满足以下任一条件时,SQL 语句将被监控:

1、操作以并行方式运行。
2、操作在单次执行中至少消耗了 5 秒的 CPU 或 I/O 时间。
3、通过 /*+ MONITOR */ 提示强制对操作进行跟踪。

默认情况下,SQL 监控器仅监控 300 行或更少的执行计划。可通过参数_SQLMON_MAX_PLANLINES增加此限制(MOS :1613163.1)。你还可以使用参数_SQLMON_THRESHOLD更改默认的 5 秒运行时间阈值。

ALTER SYSTEM SET "_sqlmon_max_planlines"=1000 SCOPE=MEMORY;

获取sqlmonitor的方法

1、通过EM获取

可以通过企业管理器云控制(Enterprise Manager Cloud Control)或企业管理器数据库 express 版(EM Express),在性能中心(通过 “性能” 菜单进入)的 “已监控 SQL” 选项卡中,直接访问活动 SQL 监视器报告。

下面是12C的示例,如果你的网络里有统一管理的EM也可以查看。

像我们这种客户的小环境没有统一管理的EM,数据库也没有开启EM就不太适用。

image.png

2、通过Sqldeveloper图形工具获取

工具虽然是免费的,但是前提你要有相应的授权。

可以通过sqldeveloper 管理工具–优化–实时SQL监视,选中要生成报告的SQL,点保存按钮就可以直接保存到本地

其中active report需要联网加载插件才能查看,当然显示的也比较全面。
image.png
image.png

3、通过脚本

11G版本

set trimspool on
set arraysize 512
set trim on
set pagesize 0
set linesize 1000
set long 1000000
set longchunksize 1000000
spool sqlmon.html
select dbms_sqltune.report_sql_monitor (sql_id=>'输入你的SQLID', report_level=>'ALL', type=>'ACTIVE') from dual;
spool off

type对应有三个选项

ACTIVE 是一种 HTML 的交互页面,可以点击标签页切换内容,需要查看报告的机器联网。
HTML 是个静态页面,不需要联网。
TEXT 则是纯文本表格样式。

19C版本更换了DBMS包

SET LONG 1000000
SET LONGCHUNKSIZE 1000000
SET LINESIZE 32767
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFFSELECT DBMS_SQL_MONITOR.REPORT_SQL_MONITOR(sql_id => '输入你的SQLID',type => 'TEXT',report_level => 'ALL'
) AS report
FROM DUAL;

ACTIVE报告示例
image.png

http://www.xdnf.cn/news/9543.html

相关文章:

  • JavaScript性能优化实战大纲
  • win10 pip安装插件包报错:No matching distribution found for pytest-xlsx
  • nohup命令基本用法
  • delta 流响应
  • 华为手机用的时间长了,提示手机电池性能下降,需要去换电池吗?平时要怎么用能让电池寿命长久一些?
  • Android Compose开发架构选择指南:单Activity vs 多Activity
  • Nginx代理SSL 到Spring boot
  • 多相电机驱动控制学习(2)——基于双dq的双三相PMSM学习(考虑互感/交叉耦合)
  • Chroma 向量数据库使用示例
  • UE5 Niagara 如何让四元数进行旋转
  • 单片机 串口发送和接收
  • ⚡ Linux 系统安装与配置 Vim 编辑器(包括 Vim 插件管理器)
  • RTOS 完整概述与实战应用:从基础原理到产业实情
  • 论文略读:Deep reinforcement learning for community architectural layout generation
  • Dolphinscheduler-3.2.0分布式集群详细部署
  • 时间的基本概念与相关技术二
  • 如何将多张图组合到一张图里同时保留高的分辨率(用PPT+AdobeAcrobat)
  • 用 Appuploader,让 iOS 上架流程真正“可交接、可记录、可复用”:我们是这样实现的
  • 能按需拆分 PDF 为多个文档的工具
  • Linux C++ 开发基础命令指南
  • 亚远景-ISO 21434标准:汽车网络安全实践的落地指南
  • 基于深度学习的工业OCR实践:仪器仪表数字识别技术详解
  • qt之开发大恒usb3.0相机三
  • 基于python,html,flask,echart,ids/ips,VMware,mysql,在线sdn防御ddos系统
  • SCDN如何同时保障网站加速与DDoS防御?
  • 精益数据分析(92/126):指标基准化——如何判断你的数据表现是否足够优秀
  • Vue Router 钩子函数与组件生命周期执行顺序详解
  • Ubuntu 系统grub日志级别设置
  • C#与 Prism 框架:构建模块化的 WPF 应用程序
  • 毫秒级数据采集的极致优化:如何用C#实现高性能、无冗余的实时文件写入?