首页 > 数据库 > Oracle > Sql monitor的介绍和使用
SQL Monitor 是 Oracle 数据库(从 11g 开始引入并持续增强)内置的一项 实时性能诊断和监控 功能。它是 Real-Time SQL Monitoring 功能的核心组成部分。它的主要目的是提供正在执行的长时运行或资源密集型 SQL 语句的 实时、详细执行计划和运行时统计信。 , 帮 助 D BA 和 开 发 人 员 快 速 识 别 性 能 瓶 颈 、 理 解 执 行 行 为 并 进 行 调 优 。
实时监控:
DBMS_XPLAN 或 AWR/ASH 报告是事后分析)。自动激活:
PARALLEL Hint 或对象并行度 > 1)MONITOR 或
NO_MONITOR Hint 显式控制(
/*+ MONITOR */ /
/*+ NO_MONITOR */)可视化执行计划:
EXPLAIN PLAN 或
DBMS_XPLAN.DISPLAY_CURSOR 不同,它展示的是
实际正在使用的执行计划及其在运行时的状态。丰富的运行时统计信息:
TABLE ACCESS,
HASH JOIN,
SORT GROUP BY 等),SQL Monitor 提供关键的运行时指标:
DB Time) 和 CPU 时间。HASH JOIN 的哈希区大小)。Disk Reads) 和逻辑读 (
Buffer Gets)。PX) 的数量、它们之间的数据分布方式 (
DOP - Degree of Parallelism) 以及并行协调器 (
QC) 的状态。db file sequential/scattered read,
direct path read/write,
enq: TM - contention 等)及其等待时间。接下来介绍几种获取该报表的方式:
一、 sqlplus 中查看:
SET
LONG 1000000SET
LONGCHUNKSIZE 1000000SET
LINESIZE 1000SET
PAGES 999SELECT
DBMS_SQLTUNE.REPORT_SQL_MONITOR(sql_id =>
'your_sql_id'
)
AS
report
FROM
dual; |
二、拉取 HTML 的形式查看:
1 、使用 Oracle Enterprise Manager (OEM):
登录到 OEM 控制台。
导航到 “ 性能 ” -> “SQL Monitor” 。
在 SQL Monitor 页面,找到你想要查看的报告。
点击报告旁边的 “ 查看报告 ” 或类似的按钮。
选择 “HTML” 格式,然后点击 “ 生成报告 ” 。
报告生成后,你可以选择保存或直接在浏览器中查看
2 、使用 SQL Developer:
在 SQL Developer 中,连接到你的数据库。
导航到 “ 性能 ” 标签页。
在 “SQL Monitor” 部分,找到你想要查看的报告。
右键点击报告,选择 “ 查看报告 ” 。
SQL Developer 会显示 HTML 格式的报告。
3 、使用 SQL 命令 :
你可以使用 DBMS_SQLTUNE.REPORT_SQL_MONITOR 函数来获取 HTML 格式的报告。首先,你需要知道 SQL 语句的 SQL ID 。
使用以下 SQL 命令来生成 HTML 报告:
SET
LONG 1000000SET
PAGES 999SET
LONGCHUNKSIZE 1000000SET
LINESIZE 1000SET
TRIMSPOOL
ONSPOOL sql_monitor_report.htmlSELECT
DBMS_SQLTUNE.REPORT_SQL_MONITOR(sql_id =>
'your_sql_id'
, type =>
'HTML'
)
AS
report
FROM
dual;SPOOL
OFF |
执行上述命令后,报告将被保存到当前工作目录下的 sql_monitor_report.html 文件中。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70013625/viewspace-3175906/ ,如需转载,请注明出处,否则将追究法律责任。