网站首页 > 技术文章 正文
概述
关于生产环境的一份awr报告分析,之前闲着无聊整理了100页,后面拆分下各个模块介绍下怎么看awr报告。
我们在看性能指标的时候,需要知道数据库出现性能问题,一般都在三个地方,io,内存,cpu,这三个又是息息相关的,当io负载增大时,肯定需要更多的内存来存放,同时也需要cpu花费更多的时间来过滤这些数据,相反,cpu时间花费多的话,有可能是解析sql语句,也可能是过滤太多的数据,到不一定是和io或内存有关系了 。
1. cpu:解析sql语句,尝试多个执行计划,最后生成一个数据库认为是比较好的执行计划,不一定是最优的,因为关联表太多的时候,数据库并不会穷举所有的执行计划,这会消耗太多的时间,oracle怎么就知道这条数据时你要,另一个就不是你要的呢,这是需要cpu来过滤的
2. 内存:sql语句和执行计划都需要在内存保留一段时间,还有取到的数据,根据lru算法也会尽量在内存中保留,在执行sql语句过程中,各种表之间的连接,排序等操作也要占用内存
3. io:如果需要的数据在内存中没有,则需要到磁盘中去取,就会用到物理io了,还有表之间的连接数据太多,以及排序等操作内存放不下的时候,也需要用到临时表空间,也就用到物理io了 。
下面先对awr报告的WORKLOAD REPOSITORY report 部分介绍。
DB Time不包括Oracle后台进程消耗的时间。如果DB Time远远小于Elapsed时间,说明数据库比较空闲。
db time= cpu time + wait time(不包含空闲等待) (非后台进程)
说白了就是db time就是记录的服务器花在数据库运算(非后台进程)和等待(非空闲等待)上的时间
DB time = cpu time + all of nonidle wait event time
在60分钟里(其间收集了1次快照数据),数据库耗时6253分钟,RDA数据中显示系统有240个逻辑CPU(16个物理CPU,每个8核),平均每个CPU耗时6253/240=26分钟,CPU利用率只有大约43.4%(26/60)。说明系统有一定压力。
在snapshot间隔中,总共约60分钟,240核cpu就共有240*60=14400分钟,DBtime 为6253分钟,则cpu花费了6253分钟在处理Oralce非空闲等待和运算上(比方逻辑读)
也就是说cpu有 6253/14400*100%=43.4% 花费在处理Oracle的操作上,这还不包括后台进程
总结:通过awr report的Elapsed time和DB Time就能大概了解db的负载,从而对数据库的性能有个整体把握,后面会分享更多awr报告的内容,关于awr如何导出在前面文章已经介绍过了,这里就不介绍了。
后面会分享更多DBA方面的内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2024-10-20 oracle影响数据库打开速度的因素-前滚和回滚
- 2024-10-20 Oracle数据库集群建设 oracle19c集群搭建
- 2024-10-20 周六福利--分享Oracle学习笔记:日常应用、深入管理、性能优化
- 2024-10-20 详解Oracle 自动存储管理群集文件系统 (Oracle ACFS) 文件系统
- 2024-10-20 Oracle体系结构之数据库启停(二)--实例操作
- 2024-10-20 【Oracle】数据库执行慢问题排查 oracle数据库卡顿排查
- 2024-10-20 Oracle内核技术揭秘第一篇 linux oracle内核参数
- 2024-10-20 4种方法教你获取Oracle数据库当前会话/进程的session id
- 2024-10-20 ORACLE体系 - 1 oracle体系架构图 高清
- 2024-10-20 详解Oracle数据库如何获取当前会话/进程的session id
你 发表评论:
欢迎- 07-10Oracle 与 Google Cloud 携手大幅扩展多云服务
- 07-10分享收藏的 oracle 11.2.0.4各平台的下载地址
- 07-10Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- 07-10Oracle Database@Azure 推进到南美等新区域并增加了新服务
- 07-10Oracle宣布推出 Oracle Database@AWS 的有限预览版
- 07-10Oracle与Nextcloud合作,推出主权云上的安全协作平台
- 07-10NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 07-10对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 602℃几个Oracle空值处理函数 oracle处理null值的函数
- 594℃Oracle分析函数之Lag和Lead()使用
- 582℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 579℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 574℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 567℃【数据统计分析】详解Oracle分组函数之CUBE
- 554℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 548℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- Oracle 与 Google Cloud 携手大幅扩展多云服务
- 分享收藏的 oracle 11.2.0.4各平台的下载地址
- Oracle 和 Microsoft 推出 Oracle Exadata 数据库服务
- Oracle Database@Azure 推进到南美等新区域并增加了新服务
- Oracle宣布推出 Oracle Database@AWS 的有限预览版
- Oracle与Nextcloud合作,推出主权云上的安全协作平台
- NodeRED魔改版连接MsSql、PostgreSQL、MySQL、OracleDB存储无忧
- 对于企业数据云备份,“多备份”承诺的是成本更低,管理更高效#36氪开放日深圳站#
- 解读丨《归档文件整理规则》— 电子文件元数据存储
- Data Guard跳归档恢复的实践(dataguard failover)
- 标签列表
-
- 前端设计模式 (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的函数 (57)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)