网站首页 > 技术文章 正文
概述
今天主要介绍几个sql,可能很多人就收藏一下但很少会去用,所以结合案例来做一下分析,这样就知道在什么场景用了。
下面介绍一下案例。
1、监控分析
从监控发现物理IO读处于比较高的水平,截图如下:物理读基本保持在几十M,物理写很少。
2、观察AWR报告
这里拿了对应的awr报告,简单看下逻辑读和物理读情况。
从这个截图我们只计算下逻辑读和物理读:
1.逻辑读大小:56222*8192/1024/1024=439M/s
2.物理读大小:7173*8192/1024/1024=56M/s
假设这里物理读将近逻辑读一半,因为在一般系统中很难得到这个比例,那就证明物理读过高了,这里因为不是高峰期,所以不怎么看得出来。
下面看下具体的sql情况。
逻辑读前10的sql
SELECT * FROM (SELECT sql_fulltext AS sql, SQL_ID, buffer_gets / executions AS "Gets/Exec", buffer_gets, executions, cpu_time, elapsed_time, last_active_time, module FROM V$SQLAREA WHERE buffer_gets > 10000 and executions > 0 ORDER BY "Gets/Exec" DESC) WHERE rownum <= 10;
个别参数说明:
SQL_FULLTEXT //CLOB类型 整个sql文本,不用借助于V$SQL_TEXT视图来查看整个文本 SQL_ID //库缓存中的SQL父游标的标志 FETCHES // sql取数据的次数 EXECUTIONS //自从被载入共享池后,sql执行的次数 CPU_TIME //该子游标解析,执行和获取数据使用的CPU时间,毫秒 ELAPSED_TIME //sql的执行时间,毫秒 v$sqlarea的字段定义和v$sql基本一致,不同的是V$SQLAREA是在父游标级别上统计的sql信息,v$sql的汇总表,进行了group by hash_value,sql_id的汇总。
物理读(磁盘读写)前10的sql
SELECT * FROM (SELECT sql_fulltext AS sql, SQL_ID, disk_reads / executions AS "Reads/Exec", disk_reads, executions,cpu_time,elapsed_time,last_active_time,module FROM V$SQLAREA WHERE disk_reads > 1000 and executions > 0 AND is_obsolete = 'N' ORDER BY "Reads/Exec" DESC) WHERE rownum <= 10;
物理IO前10的表
SELECT TABLE_NAME,TOTAL_PHYS_IO FROM ( SELECT OWNER||'.'||OBJECT_NAME AS TABLE_NAME, SUM(VALUE) AS TOTAL_PHYS_IO FROM V$SEGMENT_STATISTICS WHERE OWNER!='SYS' AND OBJECT_TYPE='TABLE' AND STATISTIC_NAME IN ('physical reads','physical reads direct', 'physical writes','physical writes direct') GROUP BY OWNER||'.'||OBJECT_NAME ORDER BY TOTAL_PHYS_IO DESC) WHERE ROWNUM <=10;
篇幅有限,主要分享几个sql,所以就介绍到这了,后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2025-07-09 Linux 安装Oracle11.2.0.4 (静默安装法)
- 2025-07-09 Deno 操作 Oracle 数据库全解析:从入门到精通的实战指南
- 2025-07-09 一文掌握怎么利用Shell+Python实现完美版的多数据源备份程序
- 2024-10-14 详解rman备份:全库备份+表空间备份+备份控制文件+备份归档文件
- 2024-10-14 Oracle 数据库导入导出方法 oracle数据库数据导入导出
- 2024-10-14 Mysql、Oracle安全项检查表及操作脚本
- 2024-10-14 脚本化修改Oracle用户的密码以及执行sql(增删改查等)
- 2024-10-14 非交互式SHELL脚本-实现从oracle获取数据并在制定目录生成文件
- 2024-10-14 Oracle数据库出现问题?这十个脚本帮你快速定位原因
- 2024-10-14 分享3个Sysbench性能压测脚本及多并发压测过程
你 发表评论:
欢迎- 652℃几个Oracle空值处理函数 oracle处理null值的函数
- 644℃Oracle分析函数之Lag和Lead()使用
- 642℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 634℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 630℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 617℃【数据统计分析】详解Oracle分组函数之CUBE
- 615℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 590℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (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)
本文暂时没有评论,来添加一个吧(●'◡'●)