1. 首页 > Oracle教程 > 正文

Oracle教程FG479-EMCC SQL监控

本文档风哥主要介绍Oracle EMCC SQL监控相关知识,包括SQL监控的概念、组件、查看、分析、调优等内容,由风哥教程参考Oracle官方文档EMCC内容编写,适合DBA人员在学习和测试中使用,如果要应用于生产环境则需要自行确认。更多视频教程www.fgedu.net.cn

Part01-基础概念与理论知识

1.1 EMCC SQL监控概念

Oracle EMCC SQL监控是Enterprise Manager Cloud Control提供的SQL性能监控和分析功能,通过图形化界面可以实时监控SQL执行状态,分析SQL性能问题,提供SQL调优建议。学习交流加群风哥微信: itpux-com

EMCC SQL监控的特点:

  • 实时SQL监控
  • SQL执行计划分析
  • SQL性能统计
  • SQL调优建议
  • SQL历史记录

1.2 EMCC SQL监控组件

EMCC SQL监控的主要组件:

  • SQL监控列表:正在执行的SQL列表
  • SQL详情:SQL执行详情
  • 执行计划:SQL执行计划
  • SQL调优顾问:SQL调优建议
  • SQL历史:SQL执行历史

1.3 EMCC SQL监控功能

EMCC SQL监控的主要功能:

  • 实时监控:监控正在执行的SQL
  • 性能分析:分析SQL性能问题
  • 计划分析:分析执行计划
  • 调优建议:提供调优建议
  • 历史对比:对比历史执行情况
风哥提示:SQL监控是数据库性能优化的重要工具。建议定期查看SQL监控,识别和优化慢SQL。

Part02-生产环境规划与建议

2.1 EMCC SQL监控规划

EMCC SQL监控规划要点:

# SQL监控规划
– 关键SQL:实时监控
– 慢SQL:重点分析
– 高频SQL:定期优化

# SQL监控阈值
– 执行时间 > 5秒:监控
– 执行时间 > 30秒:告警
– 执行时间 > 60秒:严重

# SQL调优策略
– 定期分析TOP SQL
– 及时优化慢SQL
– 建立SQL审核机制

2.2 EMCC SQL监控设计原则

EMCC SQL监控设计原则:

  • 重点监控:重点监控关键SQL
  • 及时分析:及时分析性能问题
  • 持续优化:持续优化SQL性能
  • 文档记录:记录优化过程
  • 审核机制:建立SQL审核机制

2.3 EMCC SQL监控策略

EMCC SQL监控策略:

  • 主动监控:主动监控SQL执行
  • 被动分析:问题出现后分析
  • 混合策略:主动监控+被动分析
生产环境建议:SQL监控是数据库性能优化的重要工具。建议建立完善的SQL监控体系,及时发现和优化慢SQL。学习交流加群风哥QQ113257174

Part03-生产环境项目实施方案

3.1 EMCC查看SQL监控

3.1.1 EMCC查看SQL监控列表

# 登录EMCC控制台
https://emcc.fgedu.net.cn:7803/em

# 查看SQL监控列表步骤:
1. 登录EMCC控制台
2. 选择目标数据库:fgedudb
3. 点击”性能” -> “SQL监控”
4. 查看正在执行的SQL:
– SQL ID
– SQL文本
– 执行时间
– 状态
– 用户

# SQL监控列表显示:
SQL Monitor – fgedudb
=====================
SQL ID Status Duration User SQL Text
————– ———- ——– —— ——————–
abc123def EXECUTING 45s FGEDU SELECT * FROM orders…
xyz789uvw EXECUTING 30s FGEDU UPDATE inventory SET…
ghi456rst COMPLETED 15s SYSTEM INSERT INTO logs…

# 使用EMCLI查看SQL监控
$ emcli get_sql_monitor -target=”fgedudb”

SQL Monitor Report
==================
Active SQL: 5
Long Running SQL: 2
Completed SQL: 100

3.1.2 EMCC查看SQL详情

# 查看SQL详情步骤:
1. 登录EMCC控制台
2. 选择目标数据库:fgedudb
3. 点击”性能” -> “SQL监控”
4. 点击SQL ID查看详情
5. 查看SQL执行信息:
– SQL文本
– 执行计划
– 执行统计
– 等待事件

# SQL详情页面显示:
SQL Details – abc123def
=======================
SQL Text: SELECT * FROM orders WHERE order_date > :b1
Status: EXECUTING
Duration: 45s
CPU Time: 30s
Wait Time: 15s
IO Requests: 5000
Buffer Gets: 100000
Disk Reads: 50000

# 使用EMCLI查看SQL详情
$ emcli get_sql_details \
-target=”fgedudb” \
-sql_id=”abc123def”

SQL Details Report
==================
SQL ID: abc123def
Plan Hash Value: 1234567890
Executions: 1
Elapsed Time: 45s
CPU Time: 30s
Buffer Gets: 100000
Disk Reads: 50000

3.2 EMCC分析SQL性能

3.2.1 EMCC分析执行计划

# 分析执行计划步骤:
1. 登录EMCC控制台
2. 选择目标数据库:fgedudb
3. 点击”性能” -> “SQL监控”
4. 点击SQL ID查看详情
5. 点击”执行计划”选项卡
6. 查看执行计划:
– 操作类型
– 对象名称
– 基数
– 成本
– 时间

# 执行计划显示:
Execution Plan – abc123def
==========================
ID Operation Object Rows Cost Time
— ———————- ———- —— —— ——
0 SELECT STATEMENT 1000 10s
1 TABLE ACCESS FULL ORDERS 10000 1000 10s

# 使用EMCLI查看执行计划
$ emcli get_sql_plan \
-target=”fgedudb” \
-sql_id=”abc123def”

Execution Plan
==============
Plan Hash Value: 1234567890
Operation: TABLE ACCESS FULL
Object: ORDERS
Cost: 1000
Cardinality: 10000

3.3 EMCC调优SQL

3.3.1 EMCC使用SQL调优顾问

# 使用SQL调优顾问步骤:
1. 登录EMCC控制台
2. 选择目标数据库:fgedudb
3. 点击”性能” -> “SQL监控”
4. 点击SQL ID查看详情
5. 点击”运行SQL调优顾问”
6. 等待分析完成
7. 查看调优建议

# SQL调优顾问建议显示:
SQL Tuning Advisor – abc123def
==============================
Recommendation 1: Create Index
Benefit: 90% improvement
SQL: CREATE INDEX idx_orders_date ON orders(order_date);

Recommendation 2: Gather Statistics
Benefit: 10% improvement
SQL: EXEC DBMS_STATS.GATHER_TABLE_STATS(‘FGEDU’, ‘ORDERS’);

# 使用EMCLI运行SQL调优顾问
$ emcli run_sql_tuning_advisor \
-target=”fgedudb” \
-sql_id=”abc123def”

SQL Tuning Advisor Report
=========================
Task Name: STA_abc123def
Status: Completed
Findings: 2
Recommendations: 2

# 应用调优建议
SQL> CREATE INDEX idx_orders_date ON orders(order_date);

Index created.

SQL> EXEC DBMS_STATS.GATHER_TABLE_STATS(‘FGEDU’, ‘ORDERS’);

PL/SQL procedure successfully completed.

风哥提示:SQL调优是数据库性能优化的重要工作。建议定期分析慢SQL,使用SQL调优顾问获取优化建议。更多学习教程公众号风哥教程itpux_com

Part04-生产案例与实战讲解

4.1 EMCC SQL监控常见问题

4.1.1 EMCC SQL执行慢

# 问题现象:SQL执行慢
# 分析步骤:

# 1. 查看SQL监控
$ emcli get_sql_monitor -target=”fgedudb”

Active SQL: 5
Long Running SQL: 2

# 2. 查看慢SQL详情
$ emcli get_sql_details \
-target=”fgedudb” \
-sql_id=”abc123def”

SQL ID: abc123def
Elapsed Time: 120s
Wait Event: db file sequential read

# 3. 分析执行计划
$ emcli get_sql_plan \
-target=”fgedudb” \
-sql_id=”abc123def”

Operation: TABLE ACCESS FULL
Object: ORDERS
Cost: 10000

# 4. 运行SQL调优顾问
$ emcli run_sql_tuning_advisor \
-target=”fgedudb” \
-sql_id=”abc123def”

Recommendation: Create Index
SQL: CREATE INDEX idx_orders_date ON orders(order_date);

# 5. 应用调优建议
SQL> CREATE INDEX idx_orders_date ON orders(order_date);

Index created.

# 6. 验证优化效果
SQL> SELECT * FROM orders WHERE order_date > SYSDATE – 30;

1000 rows selected.

Elapsed: 00:00:02.50

4.2 EMCC SQL监控故障排除

# 问题现象:SQL执行计划变化
# 分析步骤:

# 1. 查看SQL历史
$ emcli get_sql_history \
-target=”fgedudb” \
-sql_id=”abc123def”

SQL History
===========
Date Plan Hash Elapsed Time
———- ———– ————
2026-04-05 1234567890 120s
2026-04-04 9876543210 5s
2026-04-03 9876543210 4s

# 2. 对比执行计划
SQL> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(‘abc123def’, 0));

PLAN_TABLE_OUTPUT
—————————————————————-
| Id | Operation | Name | Rows | Cost |
————————————————–
| 0 | SELECT STATEMENT | | | 10000|
| 1 | TABLE ACCESS FULL |ORDERS | 10000| 10000|

# 3. 分析原因
SQL> SELECT plan_hash_value, timestamp
FROM dba_hist_sql_plan
WHERE sql_id = ‘abc123def’
ORDER BY timestamp DESC;

PLAN_HASH_VALUE TIMESTAMP
————— ——————-
1234567890 2026-04-05 10:00:00
9876543210 2026-04-04 10:00:00

# 4. 解决方案
# 使用SQL计划基线固定执行计划
SQL> DECLARE
l_plans PLS_INTEGER;
BEGIN
l_plans := DBMS_SPM.LOAD_PLANS_FROM_CURSOR_CACHE(
sql_id => ‘abc123def’,
plan_hash_value => 9876543210
);
END;
/

PL/SQL procedure successfully completed.

4.3 EMCC SQL监控优化方案

EMCC SQL监控优化方案:

  • 定期分析:定期分析TOP SQL
  • 及时优化:及时优化慢SQL
  • 计划固定:固定好的执行计划
  • 统计信息:保持统计信息最新
  • 审核机制:建立SQL审核机制
生产环境建议:SQL监控是数据库性能优化的重要工具。建议建立完善的SQL监控体系,及时发现和优化慢SQL。from oracle:www.itpux.com

Part05-风哥经验总结与分享

5.1 EMCC SQL监控管理最佳实践

EMCC SQL监控管理最佳实践:

  • 定期分析:定期分析TOP SQL
  • 及时优化:及时优化慢SQL
  • 计划固定:固定好的执行计划
  • 统计信息:保持统计信息最新
  • 审核机制:建立SQL审核机制
  • 文档记录:记录优化过程
风哥提示:SQL监控是数据库性能优化的重要工具。建议建立完善的SQL监控体系,及时发现和优化慢SQL。

5.2 EMCC SQL监控检查清单

# SQL监控管理检查清单
– [ ] SQL监控已配置
– [ ] SQL告警已设置
– [ ] TOP SQL已分析
– [ ] 慢SQL已优化
– [ ] 执行计划已固定
– [ ] 统计信息已更新
– [ ] 文档已记录
– [ ] 审核机制已建立

# SQL监控问题处理流程
1. 发现SQL问题
2. 收集SQL相关信息
3. 分析SQL问题原因
4. 制定处理方案
5. 执行处理方案
6. 验证问题解决
7. 总结经验,优化预防措施

5.3 EMCC SQL监控管理工具推荐

EMCC SQL监控管理常用工具:

  • EMCC控制台:图形化管理界面
  • EMCLI:命令行管理工具
  • SQL监控:实时SQL监控
  • SQL调优顾问:SQL调优建议
  • SQL计划管理:执行计划管理
持续改进:SQL监控管理是一个持续的过程,需要定期review和优化。建议建立SQL监控管理的规范和流程,不断改进管理水平。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息