网站首页 > 技术文章 正文
上一篇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开始,你可以生成有关计划生成期间已使用或未使用哪些提示的报告。
猜你喜欢
- 2024-11-01 ORACLE表空间监控及管理大全,工作参考用
- 2024-11-01 一文看懂lepus天兔数据库监控系统是如何监控redis的
- 2024-11-01 详解lepus天兔数据库监控系统添加数据库实例--redis监控
- 2024-11-01 云呐数据库专家监控盒子全局检测Oracle数据库性能工作
- 2024-11-01 zabbix 5.0 ODBC监控Oracle oracle em监控
- 2024-11-01 使用Python来监控Oracle 数据库表空间的效率竟然如此高
- 2024-11-01 完美指南|如何使用 ODBC 进行无代理 Oracle 数据库监控?
- 2024-11-01 超详细的lepus天兔数据库监控系统部署教程,值得收藏
- 2024-11-01 Zabbix监控系统系列之十三:自动发现Oracle表空间并监控
- 2024-11-01 分享一份四类数据库监控SQL指标,值得收藏
你 发表评论:
欢迎- 630℃几个Oracle空值处理函数 oracle处理null值的函数
- 623℃Oracle分析函数之Lag和Lead()使用
- 612℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 606℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 604℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 596℃【数据统计分析】详解Oracle分组函数之CUBE
- 586℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 570℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- oracle 19cOCM认证有哪些内容(oracle认证ocm月薪)
- Oracle新出AI课程认证,转型要持续学习
- oracle 表的查询join顺序,可能会影响查询效率
- Oracle DatabaseAmazon Web Services正式可用,Oracle数据库上云更容易了
- Oracle 19.28 RU 升级最佳实践指南
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 如何主导设计一个亿级高并发系统架构-数据存储架构(三)
- Java 后端开发必看!工厂设计模式轻松拿捏
- ORA-00600 「25027」 「x」报错(抱错孩子电视剧 爸爸是武术 另一个爸爸是画家)
- 新项目终于用上了jdk24(jdk新建项目)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)