江风网

txt_epub_Kindle_azw3_mobi_pdf电子书免费下载

Oracle数据库性能优化方法论和最佳实践

出版时间: 2016-03-01
发布时间: 2020-11-20
阅读热度: 5
综合评分: 0
下载支持: TXT EPUB MOBI AZW3 PDF
在线阅读: 手机阅读 电脑阅读
《Oracle数据库性能优化方法论和最佳实践》内容简介

Oracle性能优化一直是Oracle数据库实践中相对困难和神秘的领域,即使是资深DBA,部分也对性能优化存有一定的疑惑和迷茫,缺乏科学的优化方法论指导则是构成该困境的主要原因。本书通过案例和实践介绍科学的优化方法论,使大家更深入地理解Oracle性能优化,并形成自己的知识体系!掌握优化的必备技能,不再是大师的专利。本书从性能优化的困境和传统性能优化方法论的不足出发,详细介绍全球首创的基于流程、资源和组件的最新Oracle性能优化方法论,并为之构建了完整的性能优化方法论衡量体系。深入分析完整的性能优化指标监控体系,帮助读者在日常运行中实践。内容超越Oracle的知识体系,还介绍了大量操作系统和硬件资源的相关知识和经验。每章都包含大量来自实践的一线性能优化案例和可以重现的研究性测试案例,方便读者学习和实践。柳遵梁,杭州美创科技有限公司总经理,15年的DBA经历,擅长性能优化、数据安全、容灾备份、自动化运维、大数据分析等领域。在国内率先实践OWI和RTA性能优化方法论,并开创性提出了基于流程、资源和组件分析的优化方法论。关注容灾领域,构想了灾备一体化、全业务切换、桌面演练、双活等关键容灾技术并在美创科技产品上实现,关注数据安全和敏感数据保护,关注大数据分析作用于日常运营管理。潘敏君,杭州美创科技有限公司高级DBA,团队主管,偶然碰触oracle,一搞就是7年,细细品味oracle,逐渐形成了自己的一套理论与方法。深入理解oracle体系架构及原理,精通系统级的性能优化,长于使用各种工具、事件跟踪排错故障,精通异常数据库的恢复与灾难挽救。关注容灾,数据安全及自动化运维,对闪存卡在企业中的应用有较深入的研究,并协助同事开发基于x86架构的数据库一体机实现了高性价*的横向扩展能力,现已到达商用阶段。带领团队成员处理各种数据库问题,具有极为丰富的Oracle数据库支持经验。应以峰,杭州美创科技有限公司高级DBA,团队主管,Oracle10gOCM,拥有5年的数据库领域从业经验,精通Oracle数据库原理,擅长从等待事件角度分析诊断Oracle性能问题,对Oracle的OWI、SQL调优等技术有丰富的知识积累和研究,对ORACLERAC高可用架构体系有着较深的造诣。负责运维美创核心客户的海量数据库,负责美创高可用双机双柜部署实施、故障处理、性能优化等工作。

《Oracle数据库性能优化方法论和最佳实践》章节目录
  • 前言
  • 第1章 Oracle性能优化漫谈
  • 1.1 从生活场景漫谈性能优化
  • 1.1.1 从一个真实病例说起
  • 1.1.2 如何改善宝马汽车的运行速度
  • 1.2 性能优化目标的确定和衡量
  • 1.2.1 性能优化的范畴或优化对象确定
  • 1.2.2 性能优化目标的用户期望管理
  • 1.2.3 性能优化的目标衡量
  • 1.3 吞吐量和响应时间
  • 1.3.1 吞吐量
  • 1.3.2 响应时间
  • 1.3.3 吞吐量和响应时间关系曲线
  • 1.3.4 医院挂号窗口的吞吐量和响应时间曲线
  • 1.3.5 tpcc测试的吞吐量和响应时间曲线
  • 1.3.6 磁盘I/O系统吞吐量和响应时间曲线
  • 1.4 Oracle性能优化工作的分类
  • 1.4.1 上线优化或从未达到过性能期望的系统优化
  • 1.4.2 响应速度逐步变慢的系统优化
  • 1.4.3 运行过程中突然变慢的系统优化
  • 1.4.4 突然变慢,持续一段时间后又恢复正常的业务系统优化
  • 1.4.5 基于降低资源消耗的系统优化
  • 1.4.6 预防性日常性能优化
  • 1.5 测量和变化
  • 1.5.1 测量和性能
  • 1.5.2 变化检测和性能优化
  • 1.5.3 量变和质变
  • 1.6 基线管理
  • 1.6.1 基准点和基线
  • 1.6.2 沟通基线
  • 1.6.3 基线管理和动态基线
  • 1.7 Oracle性能优化的神话和误区
  • 1.7.1 艺术和科学
  • 1.7.2 Oracle业务系统性能优化是高手的专利
  • 1.7.3 测试系统性能很好,生产系统为什么不行
  • 1.7.4 针对特定性能问题的标准解决方案
  • 1.7.5 只要资源充足,数据库性能就不会差
  • 1.7.6 只要数据库性能好,业务系统性能必然良好
  • 1.7.7 降低等待时间就可以提高业务系统性能
  • 第2章 Oracle性能优化方法论的发展
  • 2.1 基于局部命中率分析的优化方法论
  • 2.2 基于OWI的优化方法论
  • 2.2.1 OWI优化方法论简述
  • 2.2.2 OWI方法论的可检测体系
  • 2.2.3 OWI方法中wait event的发展
  • 2.3 响应时间分析优化方法论
  • 2.3.1 RTA方法论简述
  • 2.3.2 RTA方法论的不足和改善
  • 2.4 基于工作单元的响应时间分析优化方法论
  • 2.4.1 UOWTBA优化方法论的导入
  • 2.4.2 输入吞吐量指标的选择
  • 2.4.3 采用UOWTBA优化方法工作
  • 2.5 基于资源瓶颈分析的优化方法论
  • 2.5.1 基于资源瓶颈分析优化方法论简述
  • 2.5.2 主要的数据库服务资源供给
  • 2.5.3 有效运行资源瓶颈分析优化方法
  • 2.6 流程、资源和组件优化方法论
  • 2.6.1 吞吐量和响应时间关系曲线
  • 2.6.2 流程和流程响应分析
  • 2.6.3 资源分析
  • 2.6.4 组件
  • 第3章 流程分析之数据库登录流程
  • 3.1 数据库登录导致业务系统性能恶化案例分享
  • 3.2 数据库登录流程的相关指标与优化
  • 3.2.1 数据库登录流程的输入吞吐量和输出响应指标
  • 3.2.2 输入压力与输出响应之间的关系
  • 3.2.3 数据库登录流程响应问题的优化案例
  • 第4章 流程分析之数据访问处理流程
  • 4.1 数据访问处理流程优化案例分享
  • 4.2 数据访问处理流程的分解
  • 4.3 数据访问处理流程的输入和输出
  • 4.3.1 输入单元和输出单元的确定
  • 4.3.2 输入和输出指标的测量
  • 4.3.3 输入和输出指标的关系曲线
  • 4.4 数据访问流程优化步骤
  • 4.5 客户端运行和响应阶段
  • 4.5.1 子流程过程性分解
  • 4.5.2 子流程的输入和输出指标
  • 4.5.3 相关资源和组件
  • 4.5.4 业务请求和响应阶段优化案例
  • 4.6 SQL语句分析阶段(parse阶段)
  • 4.6.1 parse阶段子流程分解
  • 4.6.2 hard parse/soft parse/soft soft parse/no parse的区别
  • 4.6.3 SQL语句parse的高版本
  • 4.6.4 复杂语句和简单语句的parse差异
  • 4.6.5 parse阶段的输入/输出指标
  • 4.6.6 parse阶段的优化道路
  • 4.6.7 相关资源和组件
  • 4.6.8 parse阶段优化案例分析
  • 4.7 SQL语句执行阶段(execute阶段)
  • 4.7.1 SQL执行阶段子流程分解
  • 4.7.2 SQL执行子流程输入/输出指标
  • 4.7.3 SQL执行子流程的输入/输出指标衡量
  • 4.7.4 SQL执行阶段输入/输出关系图
  • 4.7.5 SQL执行阶段的优化道路
  • 4.7.6 SQL执行阶段相关资源和组件
  • 4.7.7 SQL执行阶段优化案例
  • 4.8 fetch次数对逻辑读的影响
  • 4.9 提交(Commit)阶段的流程分解和分析
  • 4.9.1 提交阶段的主要执行过程
  • 4.9.2 高并发性提交的响应问题
  • 4.9.3 提交阶段的优化道路
  • 第5章 资源
  • 5.1 简单的资源供给类
  • 5.1.1 资源使用的突变曲线
  • 5.1.2 资源的使用率和队列长度
  • 5.1.3 导致资源供给性能问题的主要场景
  • 5.2 并发性资源
  • 5.2.1 并发性资源效率的衡量
  • 5.2.2 主要的并发性资源和响应突变曲线
  • 第6章 资源供给:CPU
  • 6.1 简单案例分享
  • 6.2 CPU的特殊性
  • 6.3 CPU的工作和运行性能的衡量
  • 6.3.1 CPU的主要工作
  • 6.3.2 CPU运行性能的衡量:利用率和运行队列长度
  • 6.3.3 CPU的运行性能曲线
  • 6.4 CPU资源的主要衡量指标
  • 6.4.1 CPU的主要性能衡量指标
  • 6.4.2 CPU的主要性能衡量指标的测量
  • 6.4.3 CPU相关的主要Oracle指标
  • 6.5 几个CPU资源常见问题的讨论
  • 6.5.1 CPU资源的100%利用率
  • 6.5.2 CPU运行队列的长度标准
  • 6.5.3 CPU sys部分的资源消耗问题
  • 6.6 CPU资源优化的目标和道路
  • 6.6.1 CPU资源问题的场景和优化道路
  • 6.6.2 降低CPU的输入压力
  • 6.6.3 分布局部的CPU输入压力
  • 6.6.4 提高CPU处理效率
  • 6.6.5 合理调度平缓化CPU使用
  • 6.7 CPU资源优化案例
  • 第7章 资源供给:内存和虚拟内存
  • 7.1 简单案例分享
  • 7.2 物理内存和虚拟内存
  • 7.3 简单的虚拟内存管理
  • 7.3.1 工作存储分页和永久存储分页
  • 7.3.2 计算分页和非计算分页
  • 7.3.3 页面大小和大页管理
  • 7.3.4 进程内存管理
  • 7.4 虚拟内存运行性能的衡量
  • 7.4.1 虚拟内存运行性能
  • 7.4.2 虚拟内存的运行性能曲线
  • 7.5 虚拟内存资源的主要衡量指标
  • 7.5.1 虚拟内存的主要性能衡量指标
  • 7.5.2 虚拟内存主要性能衡量指标的测量
  • 7.5.3 虚拟内存相关的主要Oracle指标
  • 7.6 几个虚拟内存资源常见问题的讨论
  • 7.6.1 有128GB的内存,为什么自由空间还是很少
  • 7.6.2 Oracle业务系统环境下的文件系统缓冲
  • 7.6.3 如何从AWR报告中发现可能存在的虚拟问题
  • 7.6.4 如何检测和发现内存泄漏
  • 7.7 虚拟内存资源优化的目标和道路
  • 7.7.1 虚拟内存资源问题的场景和优化道路
  • 7.7.2 合理配置内存分配参数,避免发生swapin和swapout
  • 7.7.3 合理分配内存,让内存的使用处于安全可控的范围
  • 7.7.4 充分利用内存,提高业务处理程序运行效率
  • 7.7.5 合理调度业务程序,使内存使用平缓化
  • 7.8 虚拟内存资源优化案例
  • 第8章 资源供给:I/O子系统
  • 8.1 简单案例分享
  • 8.2 I/O子系统和构成
  • 8.3 卷管理器和文件系统
  • 8.3.1 卷管理器
  • 8.3.2 文件系统和逻辑卷
  • 8.4 HBA、SAN交换机及其他存储系统链路通道
  • 8.4.1 HBA和SAN
  • 8.4.2 NIC和网络交换机
  • 8.4.3 IB和IB交换机
  • 8.5 磁盘和磁盘阵列
  • 8.5.1 磁盘
  • 8.5.2 磁盘的硬件基础性能衡量
  • 8.5.3 磁盘的iops和数据传输率
  • 8.5.4 磁盘平均队列长度
  • 8.5.5 磁盘阵列
  • 8.6 Raid和LUN
  • 8.7 磁盘多路径访问和基于存储的容灾复制影响
  • 8.7.1 磁盘多路径访问
  • 8.7.2 基于存储(卷)的容灾复制系统的影响
  • 8.8 固态硬盘和PCIe
  • 8.8.1 固态硬盘和传统机械硬盘
  • 8.8.2 SSD的简单结构
  • 8.8.3 固态硬盘不是机械设备
  • 8.8.4 固态硬盘不支持原址更新
  • 8.8.5 Oracle和固态硬盘
  • 8.9 随机访问和顺序访问
  • 8.10 基于Oracle数据库的存储系统设计
  • 8.10.1 Oracle online redo logfile和磁盘阵列
  • 8.10.2 临时表空间的存储设计
  • 8.10.3 OLTP业务系统或混合型业务系统
  • 8.10.4 数据仓库或DSS决策系统
  • 8.11 I/O子系统的运行性能衡量
  • 8.11.1 I/O子系统运行性能的衡量指标
  • 8.11.2 I/O子系统的运行性能曲线
  • 8.11.3 I/O资源主要性能衡量指标的测量
  • 8.11.4 I/O子系统相关的主要Oracle指标
  • 8.12 几个I/O子系统资源常见问题的讨论
  • 8.12.1 I/O资源极度紧张但I/O wait表现不高
  • 8.12.2 发现大量的磁盘Cache但似乎Oracle不理会
  • 8.12.3 磁盘利用率为100%,但处理能力还在不断上涨
  • 8.12.4 如何发现因存储系统导致的性能故障
  • 8.13 I/O子系统资源优化的目标和道路
  • 8.13.1 I/O资源问题的场景和优化道路
  • 8.13.2 明确存储故障,修正配置或修复存储
  • 8.13.3 降低存储系统的全局I/O压力
  • 8.13.4 分布存储系统压力,使每个I/O设备处于合理范畴
  • 8.13.5 合理调度业务程序,使I/O资源使用平缓化
  • 8.14 I/O子系统资源优化案例
  • 第9章 资源供给:网络子系统
  • 9.1 简单案例分享
  • 9.2 网络子系统和构成
  • 9.2.1 网卡、网络交换机(路由器)和网络
  • 9.2.2 网络延迟和吞吐量
  • 9.2.3 高速内联网和业务网络
  • 9.2.4 在低速网络下运行业务
  • 9.3 网络协议:TCP、UDP和NFS
  • 9.3.1 TCP
  • 9.3.2 UDP
  • 9.3.3 NFS
  • 9.4 网络参数配置和运行性能
  • 9.4.1 RTT、Bandwidth和BDP
  • 9.4.2 主要的网络参数
  • 9.4.3 主要的NFS参数
  • 9.5 网络带宽的扩展
  • 9.5.1 网卡绑定类型
  • 9.5.2 负载均衡模式网卡绑定配置
  • 9.5.3 负载均衡模式网卡绑定测试
  • 9.6 主要的网络性能监视工具
  • 9.7 网络子系统的运行性能衡量
  • 9.7.1 网络子系统运行性能的衡量指标
  • 9.7.2 网络子系统的运行性能曲线
  • 9.7.3 网络资源主要性能衡量指标的测量
  • 9.7.4 网络子系统相关的主要Oracle指标
  • 9.8 几个网络子系统资源常见问题的讨论
  • 9.8.1 系统中总是有SQL*Net message from client事件
  • 9.8.2 如何发现过量的网络交互引起的响应缓慢
  • 9.8.3 C语言处理数据的效能远远低于数据库存储过程
  • 9.9 网络子系统资源优化的目标和道路
  • 9.9.1 网络资源问题的场景和优化道路
  • 9.9.2 明确网络故障,修正配置或修复存储
  • 9.9.3 降低网络系统的全局输入压力
  • 9.9.4 分布网络系统压力,使每个网络设备处于合理范畴
  • 9.9.5 设置最佳的网络配置参数,使网络设备运行效率最佳
  • 9.10 网络子系统资源优化案例
  • 第10章 资源供给:队列锁
  • 10.1 简单案例分享
  • 10.2 并发性控制和队列锁
  • 10.2.1 锁资源和锁资源的访问
  • 10.2.2 锁资源的感知
  • 10.2.3 队列锁相关的资源参数
  • 10.2.4 队列锁、事务锁和DML表格锁
  • 10.2.5 锁模式和意向锁
  • 10.2.6 主要的Oracle队列锁
  • 10.3 事务锁
  • 10.3.1 行锁和不加锁的一致性读
  • 10.3.2 TX锁冲突
  • 10.3.3 死锁
  • 10.3.4 基于TX lock的统计、事件和视图
  • 10.3.5 TX lock资源冲突的优化道路
  • 10.4 TM锁
  • 10.4.1 TM lock作用模式和作用场合
  • 10.4.2 dml_locks参数和TM lock
  • 10.4.3 ora-00054和TM lock
  • 10.4.4 TM lock的统计、等待事件和视图
  • 10.4.5 TM lock资源的优化
  • 10.5 sequence相关的锁
  • 10.5.1 SQ lock
  • 10.5.2 sequence导致的row cache lock
  • 10.5.3 DFS lock handle和SV lock
  • 10.5.4 sequence相关的统计、等待事件和视图
  • 10.5.5 sequence相关锁资源的优化
  • 10.6 HW lock和ST lock
  • 10.6.1 高水位的概念和高水位的移动
  • 10.6.2 HW lock冲突
  • 10.6.3 HWM和全表扫描
  • 10.6.4 HW lock相关统计、等待事件和视图
  • 10.6.5 HW lock资源的优化之道
  • 10.7 CF lock
  • 10.7.1 CF lock的作用场景
  • 10.7.2 rman备份或控制文件自动备份和CF lock
  • 10.7.3 dump current redo log持有CF lock
  • 10.7.4 CF lock相关统计、等待事件和视图
  • 10.7.5 CF lock资源的优化之道
  • 10.8 US lock
  • 10.8.1 隐含参数_undo_autotune和参数undo_retention
  • 10.8.2 事件10511和10512
  • 10.9 RO lock
  • 10.9.1 RO lock资源性能的相关因素
  • 10.9.2 RO lock涉及的主要事件
  • 10.10 队列锁运行性能的衡量
  • 10.10.1 队列锁运行性能的衡量指标
  • 10.10.2 队列锁资源的运行性能曲线
  • 10.10.3 队列锁运行性能衡量指标的测量
  • 10.11 队列锁资源优化的目标和道路
  • 10.11.1 业务压力导致锁资源冲突
  • 10.11.2 业务不当导致过多持有队列锁
  • 10.11.3 持有队列锁的时间过长
  • 10.11.4 缺乏事务失败思维导致事务规模过大
  • 10.11.5 调度和运维不当导致队列锁长期持有
  • 10.11.6 拥有队列锁资源的进程处于僵死或不活动状态
  • 10.12 队列锁资源优化案例
  • 第11章 资源供给:row cache lock和library cache lock
  • 11.1 简单案例分享
  • 11.2 row cache lock和ddl lock
  • 11.2.1 row cache的组成
  • 11.2.2 row cache lock涉及的视图
  • 11.2.3 row cache lock冲突的排查
  • 11.3 library cache lock
  • 11.3.1 library cache lock和锁模式
  • 11.3.2 library cache lock的场景观察
  • 11.3.3 library cache lock涉及的视图
  • 11.3.4 library cache lock故障的排查和优化
  • 11.4 row cache lock和library cache lock运行性能的衡量
  • 11.4.1 row cache lock资源运行性能的衡量指标
  • 11.4.2 library cache lock资源运行性能的衡量指标
  • 11.4.3 row cache lock锁运行性能衡量指标的测量
  • 11.4.4 library cache lock运行性能衡量指标的测量
  • 11.5 row cache lock锁资源优化的目标和道路
  • 11.5.1 数据字典的变化
  • 11.5.2 降低row cache object的重载
  • 11.6 library cache lock锁资源的目标和道路
  • 11.7 row cache lock和library cache lock锁资源优化案例
  • 第12章 资源供给:buffer lock
  • 12.1 简单案例分享
  • 12.2 buffer header和buffer lock(pin)
  • 12.2.1 buffer header和buffer lock
  • 12.2.2 buffer lock的锁兼容
  • 12.3 buffer lock冲突的简单验证
  • 12.3.1 select和select操作
  • 12.3.2 select和update操作
  • 12.3.3 update和update之间
  • 12.4 buffer lock运行性能的衡量和测量
  • 12.4.1 buffer lock冲突的buffer block类型
  • 12.4.2 buffer lock资源运行性能的衡量指标
  • 12.4.3 buffer lock锁资源运行性能衡量指标的测量
  • 12.5 buffer lock锁资源优化的目标和道路
  • 12.5.1 降低buffer lock锁资源需求
  • 12.5.2 分散buffer lock局部热点,降低buffer lock并发性冲突
  • 12.5.3 降低buffer lock的持有时间
  • 12.5.4 read by other session的buffer lock冲突
  • 12.6 buffer lock锁资源优化案例
  • 第13章 资源供给:latch
  • 13.1 简单案例分享
  • 13.2 并发性控制资源:latch或spinlock
  • 13.2.1 latch获得和释放的基本过程
  • 13.2.2 latch结构
  • 13.2.3 CAS、TAS及latch的spin
  • 13.2.4 Willing-To-Wait和no-Wait latch
  • 13.3 latch的spin和spin_count控制
  • 13.3.1 latch的spin和spin_count控制
  • 13.3.2 不同latch的spin count细粒度控制
  • 13.3.3 x$ksllclass视图和其他latch参数
  • 13.3.4 spin_count参数的合理设置
  • 13.4 latch资源冲突和性能优化
  • 13.4.1 latch冲突的简单认知
  • 13.4.2 常见的latch冲突
  • 13.4.3 latch性能相关的统计数据
  • 13.4.4 几张主要的latch视图
  • 13.5 主要的latch资源场景和冲突
  • 13.5.1 Cache buffers chains latch
  • 13.5.2 cache buffer lru chains latch
  • 13.5.3 library cache(lock/pin)latch
  • 13.5.4 shared pool latch
  • 13.5.5 row cache objects latch
  • 13.5.6 undo global data latch
  • 13.5.7 object queue header operation latch和checkpoint queue latch
  • 13.6 latch资源运行性能的衡量
  • 13.7 latch资源优化的目标和道路
  • 13.7.1 降低latch资源需求
  • 13.7.2 分布热点latch资源
  • 13.7.3 降低latch资源的持有时间
  • 13.7.4 spin_count和latch资源优化
  • 13.8 latch资源优化案例
  • 第14章 资源供给:mutex
  • 14.1 简单案例分享
  • 14.2 并发性控制资源:mutex
  • 14.2.1 Oracle 11gR2中包含的mutex
  • 14.2.2 mutex的工作方式
  • 14.3 mutex对应的wait event说明和场景
  • 14.3.1 mutex对应的wait event描述
  • 14.3.2 cursor:pin S事件
  • 14.3.3 cursor:mutex事件和library cache:mutex事件
  • 14.3.4 hash table mutex、cursor:mutex S|X和SQL高版本
  • 14.4 mutex资源冲突和性能优化
  • 14.4.1 常见的mutex冲突
  • 14.4.2 mutex性能相关的统计数据
  • 14.4.3 主要的mutex视图
  • 14.5 主要的mutex资源场景和冲突
  • 14.5.1 cursor pin mutex
  • 14.5.2 cursor parent mutex
  • 14.5.3 hash table mutex
  • 14.5.4 cursor stat mutex
  • 14.6 mutex资源的运行性能衡量和测量
  • 14.6.1 mutex资源运行性能衡量的主要指标
  • 14.6.2 mutex资源运行性能衡量指标的测量
  • 14.7 mutex资源优化的目标和道路
  • 14.7.1 降低mutex资源需求
  • 14.7.2 分布热点mutex资源
  • 14.7.3 减少mutex资源的持有时间
  • 14.8 mutex_spin_count、sleep_time、scheme和mutex资源优化
  • 14.9 mutex资源优化案例
更多小说
版权免责声明
《Oracle数据库性能优化方法论和最佳实践》为网络收集或网友自行上传,本站不对内容负责,《Oracle数据库性能优化方法论和最佳实践》版权归原作者所有,仅供学习交流,请勿商业使用,本站不提供任何下载,储存服务,如无意侵犯了你对《Oracle数据库性能优化方法论和最佳实践》的版权,请联系我们,我们将在第一时间删除相关内容!