网站首页 > 技术文章 正文
上一篇SQL监控工具文档,介绍了Oracle提供的自动SQL调整工具, 这一篇开始介绍一些DBA日常运维过程中,比较实用的手动SQL监控的工具。建议大家在测试环境演练,熟悉其用法。
查看执行计划
执行计划是手动SQL调整中的主要诊断工具。例如,您可以查看计划以确定优化器是否选择所需的计划,或者确定在表上创建索引的效果。可以通过多种方式显示执行计划。以下是最常用的工具:
DBMS_XPLAN
可以使用DBMS_XPLAN包方法显示EXPLAIN PLAN命令和查询生成的执行计划V$SQL_PLAN。
EXPLAIN PLAN
通过此SQL语句,您可以查看优化程序用于执行SQL语句的执行计划,而无需实际执行该语句
V$SQL_PLAN 及相关视图
这些视图包含有关已执行的SQL语句及其执行计划的信息,这些信息仍在共享池中。
AUTOTRACE
AUTOTRACESQL * Plus中的命令生成执行计划和有关查询性能的统计信息。该命令提供统计信息,例如磁盘读取和内存读取。
实时SQL监控
Oracle数据库的实时SQL监视功能使你可以在执行SQL语句时监视它们的性能。默认情况下,当语句并行运行或一次执行已消耗了至少5秒钟的CPU或I / O时间时,SQL监视会自动启动。Oracle Cloud Control 提供了易于使用的SQL监视页面。或者可以使用V$SQL_MONITOR和V$SQL_PLAN_MONITOR视图监视与SQL有关的统计信息。你可以将这些视图与以下视图结合使用,以获取有关正在监视的执行的更多信息。
?V$ACTIVE_SESSION_HISTORY
?V$SESSION
?V$SESSION_LONGOPS
?V$SQL
?V$SQL_PLAN
应用程序TKPROF & TRCSSES
一个SQL跟踪文件提供了关于单个SQL语句的性能信息:SQL解析数,SQL物理和逻辑读取,miss的库缓存等等信息。跟踪文件对于诊断SQL性能问题很有用。可以使用DBMS_MONITOR或DBMS_SESSION存储过程为特定会话启用和禁用SQL跟踪。启用跟踪机制时,Oracle数据库通过为每个服务器进程生成一个跟踪文件来实现跟踪。
Oracle数据库提供了以下命令行工具来分析跟踪文件:
?TKPROF
TKPROF可以接受SQL跟踪工具生成的跟踪文件作为输入,然后生成格式化的输出文件。
?TRCSESS
trcsess可以根据会话ID,客户端ID和服务ID等条件合并来自多个跟踪文件的跟踪输出。
优化器提示HINT
在测试或开发环境中,HINT对于测试特定访问路径的性能很有用。例如,知道特定索引对于某些查询更具选择性。在这种情况下,你可以使用HINT提示来指示优化器使用更好的执行计划,如以下示例所示:
SELECT /*+ INDEX (employees emp_department_ix) */
employee_id, department_id
FROM employees
WHERE department_id > 50;
有时,由于拼写错误,无效的参数,冲突的提示以及由于转换而变得无效的提示,数据库可能不使用提示。从Oracle Database 19c开始,你可以生成有关计划生成期间已使用或未使用哪些提示的报告。
猜你喜欢
- 2025-08-05 这个运维监控系统,你可能不知道!
- 2025-08-05 硬盘smart健康深度检测工具——wgcloud
- 2025-08-05 使用mysqld_exporter监控MySQL并展示数据
- 2025-08-05 Linux集群自动化监控系统Zabbix集群搭建到实战
- 2025-08-05 快速集成外部业务数据:观测云如何颠覆传统监控的边界
- 2025-08-05 datax监控测量(metrics)设计与实现
- 2025-08-05 使用Applications Manager掌握Java应用程序监控
- 2025-08-05 如何在 Windows 11 或 10 上通过 WSL 安装 Sensu Go 监控工具
- 2024-11-01 ORACLE表空间监控及管理大全,工作参考用
- 2024-11-01 一文看懂lepus天兔数据库监控系统是如何监控redis的
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- oracle面试 (55)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)