首页>参考读物>计算机科学与技术>数据库

Oracle数据库性能优化方法论和最佳实践
作者 : 柳遵梁 潘敏君 应以峰 著 周亮 审校
丛书名 : 数据库技术丛书
出版日期 : 2016-02-22
ISBN : 978-7-111-52694-0
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 568
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD :
绝版 : 未绝版
图书简介

本书内容为Flow of Work Unit Time Based Analysis性能优化方法论的第一部分,主要介绍基于流程响应和流程分解的响应时间分析方法论。基本按照以下方式来展开论述:
第一部分:从性能优化常见的困惑和场景出发引出一些性能优化的基本概念,并重点阐述了Oracle数据库性能优化的方法论发展。
第二部分:重点阐述Flow of Work Unit Time Based Analysis优化方法论,阐述流程、资源和组件之间的相互作用,构建了流程响应的输入输出的性能优化指标体系。
第三部分:资源供给,重点阐述流程、资源和组件中的资源部分,全面分析了CPU、Memory、IO Subsystem,Network SubSystem、Lock,Buffer Lock、Latch、Mutex等主要的Oracle数据库资源,并针对每种资源建立了独立的衡量评价体系。

图书特色

本书结合虚拟仪器技术,介绍了信号与系统相关的若干软硬件实验,还针对硬件实验给出了基于美国NI公司的虚拟仪器实验教学套件(NI ELVIS)的实现方案。同时,本书还利用NI myDAQ开发了多项基于音频信号的信号与系统实验项目。结合虚拟仪器技术开展信号与系统实验的优势在于,为学生通过实验与实践掌握信号与系统的理论知识提供了更为有效、生动的途径。
本书特色
充分发挥了用虚拟仪器技术开发信号与系统实验的优势,学习相关实验方案有利于加深学生对“信号与系统”课程基本概念、基本理论的理解与应用。
实验内容丰富,涵盖了“信号与系统”课程的主要知识点;实验方法丰富,既有硬件实现,又有软件实现,并使用了虚拟仪器、Multisim、MATLAB等多种技术和工具。
基于音频信号的实验项目使得实验内容更为形象生动,能与实际工程应用更好地结合。

图书前言

为什么要写这本书
十多年前笔者就打算写一本Oracle数据库性能优化方面的书,屡次都是在提笔写了几行字后就放弃了。近几年,随着Oracle数据库的普及和水平的不断提高,国内出现不少Oracle数据库方面的高水平作品,相当多的作品都涉及了性能优化方面的话题。但是几乎所有作品都只是讲解了性能优化相关的知识和经验,对于优化思路和方法很少涉及。作为性能优化方面的“老兵”,始终认为优化思路和方法要重于知识和经验,只要有适当的优化方法论指引,性能优化甚至可以成为Oracle数据库领域相对简单的业务。
近几年,随着美创科技公司开创并实践的基于流程、资源和组件分析的性能优化方法论的成熟,笔者比以往有了更大的动机来完成本书,期望它可以在Oracle性能优化史甚至整个数据库性能优化史上留下印迹,让广大的Oracle数据库使用人员和从业人员可以更加简单地完成Oracle性能优化工作,而不仅仅是个别高级DBA的专利工作。
读者对象
对于读书,笔者始终相信一本书只要有几句话可以对读者有帮助,那么这本书的价值就可以得到体现。作为优化方法论类相关的书,一般阅读起来会显得枯燥,尤其是对于初学者,甚至可能会比较困难,但是只要保持耐心,相信读者一定能够获得收益。本书适合以下读者:
中高级Oracle DBA
中高级其他数据库的DBA
性能优化从业人员
数据库架构设计师
数据库开发工程师
容量规划工程师
对于性能优化保持兴趣的数据库从业者
曾经遭遇性能障碍的数据库使用者
如何阅读本书
本书分为四大部分:
第一部分为漫谈篇(第1~2章),简单地介绍了性能优化领域的一些特征、误区,以及性能优化方法论的发展。
第二部分为流程篇(第3~4章),详细地讲解了数据库登录和数据访问处理流程,该篇通过流程的输入和输出以及流程分解来描述流程,从而帮助读者加强流程认知,进而实现流程优化。
第三部分为资源(硬件资源)篇(第5~9章),分别讲述了CPU、内存、I/O、网络等硬件资源的输入和输出特征,以及优化的主要方法。
第四部分为资源(并发性资源)篇(第10~14章),分别讲述了队列锁、row cache lock、library cache lock、buffer lock、latch、mutex等不同并发性资源的作用场合、输入和输出特征,以及优化的主要方法。
由于篇幅所限,优化方法论包含的重要组成部分“组件”并没有包含在本书内容之中。
建议按照顺序阅读本书,当然读者如果仅仅是为了了解某个特定领域的知识,可以不用理会本书的章节顺序,选择自身需要的内容阅读即可。作为优化方法论类图书,本书不是一次性阅读的快消品,需要多次阅读。由于本书在某些地方涉及了一些其他作品所不具备的细节,也可以作为一本案头书,必要时可以查阅。
勘误和支持
除封面署名外,美创科技技术服务部对于本书的编写提供了很大的支持,特别是周亮、姜宜民等人。由于作者的水平有限,编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有更多的宝贵意见,也欢迎发送邮件至邮箱liuzl@mchz.com.cn,期待能够得到你们的真挚反馈。
致谢
首先要感谢我的夫人陈尚礼,她的支持和鼓励使我没有中途放弃本书的写作。
感谢美创科技技术服务部的同事们,他们提供了大量的性能优化案例使本书内容更加充实。特别是潘敏君和应以峰,我们一起合作完成了本书。特别感谢周亮,每个章节完成后他都在第一时间进行了校对和纠正,在通篇完成之后又花费了大量时间来进行校对和修订。
特别感谢机械工业出版社华章分社的编辑杨绣国,是你的耐心和鼓励才得以让本书完成。
最后感谢我的女儿,是她时不时地几句“书写完了没有?”让我抓紧把书写完,不至于中途放弃。
谨以此书献给我最亲爱的家人,以及众多对于Oracle数据库性能优化领域感兴趣的朋友们!

柳遵梁
2015年9月于中国杭州

上架指导

计算机\数据库

封底文字

Oracle性能优化一直是Oracle数据库实践中相对困难和神秘的知识,即使是资深DBA,部分也对性能优化存有一定的疑惑和迷茫,缺乏科学的优化方法论指导则是构成该困境的主要原因。本书通过案例和实践介绍科学的优化方法论,使大家对Oracle性能优化更深入的理解,并形成自己的知识体系!掌握优化的必备技能,不再是大师的专利。
本书的主要内容和特色:
? 从性能优化的困境和传统性能优化方法论的不足出发,详细介绍全球首创的基于流程、资源和组件的最新Oracle性能优化方法论,并为之构建了完整的性能优化方法论衡量体系。
? 深入分析完整的性能优化指标监控体系,帮助读者在日常运行中实践。
? 内容超越Oracle的知识体系,还介绍了大量操作系统和硬件资源的相关知识和经验。
? 每章都包含大量来自实践的一线性能优化案例和可以重现的研究性测试案例,方便读者学习和实践。

作者简介

柳遵梁 潘敏君 应以峰 著 周亮 审校:暂无简介

图书目录

前 言
第1章 Oracle性能优化漫谈 1
1.1 从生活场景漫谈性能优化 1
1.1.1 从一个真实病例说起 1
1.1.2 如何改善宝马汽车的运行速度 2
1.2 性能优化目标的确定和衡量 3
1.2.1 性能优化的范畴或优化对象确定 4
1.2.2 性能优化目标的用户期望管理 4
1.2.3 性能优化的目标衡量 5
1.3 吞吐量和响应时间 6
1.3.1 吞吐量 6
1.3.2 响应时间 7
1.3.3 吞吐量和响应时间关系曲线 8
1.3.4 医院挂号窗口的吞吐量和响应时间曲线 8
1.3.5 tpcc测试的吞吐量和响应时间曲线 10
1.3.6 磁盘I/O系统吞吐量和响应时间曲线 10
1.4 Oracle性能优化工作的分类 12
1.4.1 上线优化或从未达到过性能期望的系统优化 12
1.4.2 响应速度逐步变慢的系统优化 13
1.4.3 运行过程中突然变慢的系统优化 13
1.4.4 突然变慢,持续一段时间后又恢复正常的业务系统优化 14
1.4.5 基于降低资源消耗的系统优化 14
1.4.6 预防性日常性能优化 14
1.5 测量和变化 15
1.5.1 测量和性能 15
1.5.2 变化检测和性能优化 17
1.5.3 量变和质变 18
1.6 基线管理 19
1.6.1 基准点和基线 19
1.6.2 沟通基线 19
1.6.3 基线管理和动态基线 20
1.7 Oracle性能优化的神话和误区 23
1.7.1 艺术和科学 23
1.7.2 Oracle业务系统性能优化是高手的专利 23
1.7.3 测试系统性能很好,生产系统为什么不行 24
1.7.4 针对特定性能问题的标准解决方案 24
1.7.5 只要资源充足,数据库性能就不会差 24
1.7.6 只要数据库性能好,业务系统性能必然良好 25
1.7.7 降低等待时间就可以提高业务系统性能 25
第2章 Oracle性能优化方法论的发展 27
2.1 基于局部命中率分析的优化方法论 28
2.2 基于OWI的优化方法论 29
2.2.1 OWI优化方法论简述 29
2.2.2 OWI方法论的可检测体系 30
2.2.3 OWI方法中wait event的发展 31
2.3 响应时间分析优化方法论 32
2.3.1 RTA方法论简述 32
2.3.2 RTA方法论的不足和改善 35
2.4 基于工作单元的响应时间分析优化方法论 35
2.4.1 UOWTBA优化方法论的导入 35
2.4.2 输入吞吐量指标的选择 36
2.4.3 采用UOWTBA优化方法工作 38
2.5 基于资源瓶颈分析的优化方法论 38
2.5.1 基于资源瓶颈分析优化方法论简述 38
2.5.2 主要的数据库服务资源供给 39
2.5.3 有效运行资源瓶颈分析优化方法 40
2.6 流程、资源和组件优化方法论 41
2.6.1 吞吐量和响应时间关系曲线 41
2.6.2 流程和流程响应分析 41
2.6.3 资源分析 43
2.6.4 组件 45
第3章 流程分析之数据库登录流程 46
3.1 数据库登录导致业务系统性能恶化案例分享 46
3.2 数据库登录流程的相关指标与优化 47
3.2.1 数据库登录流程的输入吞吐量和输出响应指标 47
3.2.2 输入压力与输出响应之间的关系 58
3.2.3 数据库登录流程响应问题的优化案例 64
第4章 流程分析之数据访问处理流程 67
4.1 数据访问处理流程优化案例分享 68
4.2 数据访问处理流程的分解 68
4.3 数据访问处理流程的输入和输出 69
4.3.1 输入单元和输出单元的确定 69
4.3.2 输入和输出指标的测量 74
4.3.3 输入和输出指标的关系曲线 79
4.4 数据访问流程优化步骤 80
4.5 客户端运行和响应阶段 80
4.5.1 子流程过程性分解 80
4.5.2 子流程的输入和输出指标 81
4.5.3 相关资源和组件 84
4.5.4 业务请求和响应阶段优化案例 84
4.6 SQL语句分析阶段(parse阶段) 85
4.6.1 parse阶段子流程分解 85
4.6.2 hard parse/soft parse/soft soft parse/no parse的区别 87
4.6.3 SQL语句parse的高版本 93
4.6.4 复杂语句和简单语句的parse差异 96
4.6.5 parse阶段的输入/输出指标 99
4.6.6 parse阶段的优化道路 113
4.6.7 相关资源和组件 121
4.6.8 parse阶段优化案例分析 122
4.7 SQL语句执行阶段(execute阶段) 123
4.7.1 SQL执行阶段子流程分解 123
4.7.2 SQL执行子流程输入/输出指标 144
4.7.3 SQL执行子流程的输入/输出指标衡量 147
4.7.4 SQL执行阶段输入/输出关系图 155
4.7.5 SQL执行阶段的优化道路 158
4.7.6 SQL执行阶段相关资源和组件 162
4.7.7 SQL执行阶段优化案例 164
4.8 fetch次数对逻辑读的影响 165
4.9 提交(Commit)阶段的流程分解和分析 167
4.9.1 提交阶段的主要执行过程 167
4.9.2 高并发性提交的响应问题 169
4.9.3 提交阶段的优化道路 174
第5章 资源 175
5.1 简单的资源供给类 176
5.1.1 资源使用的突变曲线 176
5.1.2 资源的使用率和队列长度 176
5.1.3 导致资源供给性能问题的主要场景 177
5.2 并发性资源 178
5.2.1 并发性资源效率的衡量 178
5.2.2 主要的并发性资源和响应突变曲线 178
第6章 资源供给:CPU 179
6.1 简单案例分享 179
6.2 CPU的特殊性 179
6.3 CPU的工作和运行性能的衡量 180
6.3.1 CPU的主要工作 180
6.3.2 CPU运行性能的衡量:利用率和运行队列长度 180
6.3.3 CPU的运行性能曲线 180
6.4 CPU资源的主要衡量指标 186
6.4.1 CPU的主要性能衡量指标 186
6.4.2 CPU的主要性能衡量指标的测量 187
6.4.3 CPU相关的主要Oracle指标 189
6.5 几个CPU资源常见问题的讨论 191
6.5.1 CPU资源的100%利用率 191
6.5.2 CPU运行队列的长度标准 191
6.5.3 CPU sys部分的资源消耗问题 192
6.6 CPU资源优化的目标和道路 193
6.6.1 CPU资源问题的场景和优化道路 193
6.6.2 降低CPU的输入压力 195
6.6.3 分布局部的CPU输入压力 204
6.6.4 提高CPU处理效率 204
6.6.5 合理调度平缓化CPU使用 206
6.7 CPU资源优化案例 206
第7章 资源供给:内存和虚拟内存 208
7.1 简单案例分享 208
7.2 物理内存和虚拟内存 208
7.3 简单的虚拟内存管理 209
7.3.1 工作存储分页和永久存储分页 209
7.3.2 计算分页和非计算分页 210
7.3.3 页面大小和大页管理 215
7.3.4 进程内存管理 218
7.4 虚拟内存运行性能的衡量 221
7.4.1 虚拟内存运行性能 221
7.4.2 虚拟内存的运行性能曲线 222
7.5 虚拟内存资源的主要衡量指标 225
7.5.1 虚拟内存的主要性能衡量指标 225
7.5.2 虚拟内存主要性能衡量指标的测量 226
7.5.3 虚拟内存相关的主要Oracle指标 229
7.6 几个虚拟内存资源常见问题的讨论 231
7.6.1 有128GB的内存,为什么自由空间还是很少 231
7.6.2 Oracle业务系统环境下的文件系统缓冲 231
7.6.3 如何从AWR报告中发现可能存在的虚拟问题 232
7.6.4 如何检测和发现内存泄漏 233
7.7 虚拟内存资源优化的目标和道路 234
7.7.1 虚拟内存资源问题的场景和优化道路 234
7.7.2 合理配置内存分配参数,避免发生swapin和swapout 234
7.7.3 合理分配内存,让内存的使用处于安全可控的范围 236
7.7.4 充分利用内存,提高业务处理程序运行效率 237
7.7.5 合理调度业务程序,使内存使用平缓化 238
7.8 虚拟内存资源优化案例 239
第8章 资源供给:I/O子系统 243
8.1 简单案例分享 243
8.2 I/O子系统和构成 243
8.3 卷管理器和文件系统 245
8.3.1 卷管理器 245
8.3.2 文件系统和逻辑卷 246
8.4 HBA、SAN交换机及其他存储系统链路通道 249
8.4.1 HBA和SAN 249
8.4.2 NIC和网络交换机 250
8.4.3 IB和IB交换机 250
8.5 磁盘和磁盘阵列 251
8.5.1 磁盘 251
8.5.2 磁盘的硬件基础性能衡量 252
8.5.3 磁盘的iops和数据传输率 253
8.5.4 磁盘平均队列长度 254
8.5.5 磁盘阵列 254
8.6 Raid和LUN 255
8.7 磁盘多路径访问和基于存储的容灾复制影响 258
8.7.1 磁盘多路径访问 258
8.7.2 基于存储(卷)的容灾复制系统的影响 259
8.8 固态硬盘和PCIe 260
8.8.1 固态硬盘和传统机械硬盘 260
8.8.2 SSD的简单结构 261
8.8.3 固态硬盘不是机械设备 261
8.8.4 固态硬盘不支持原址更新 263
8.8.5 Oracle和固态硬盘 263
8.9 随机访问和顺序访问 266
8.10 基于Oracle数据库的存储系统设计 269
8.10.1 Oracle online redo logf ile和磁盘阵列 269
8.10.2 临时表空间的存储设计 269
8.10.3 OLTP业务系统或混合型业务系统 269
8.10.4 数据仓库或DSS决策系统 270
8.11 I/O子系统的运行性能衡量 270
8.11.1 I/O子系统运行性能的衡量指标 270
8.11.2 I/O子系统的运行性能曲线 271
8.11.3 I/O资源主要性能衡量指标的测量 272
8.11.4 I/O子系统相关的主要Oracle指标 275
8.12 几个I/O子系统资源常见问题的讨论 275
8.12.1 I/O资源极度紧张但I/O wait表现不高 275
8.12.2 发现大量的磁盘Cache但似乎Oracle不理会 276
8.12.3 磁盘利用率为100%,但处理能力还在不断上涨 277
8.12.4 如何发现因存储系统导致的性能故障 277
8.13 I/O子系统资源优化的目标和道路 278
8.13.1 I/O资源问题的场景和优化道路 278
8.13.2 明确存储故障,修正配置或修复存储 278
8.13.3 降低存储系统的全局I/O压力 280
8.13.4 分布存储系统压力,使每个I/O设备处于合理范畴 290
8.13.5 合理调度业务程序,使I/O资源使用平缓化 291
8.14 I/O子系统资源优化案例 291
第9章 资源供给:网络子系统 294
9.1 简单案例分享 294
9.2 网络子系统和构成 294
9.2.1 网卡、网络交换机(路由器)和网络 294
9.2.2 网络延迟和吞吐量 296
9.2.3 高速内联网和业务网络 297
9.2.4 在低速网络下运行业务 298
9.3 网络协议:TCP、UDP和NFS 298
9.3.1 TCP 298
9.3.2 UDP 299
9.3.3 NFS 299
9.4 网络参数配置和运行性能 299
9.4.1 RTT、Bandwidth和BDP 300
9.4.2 主要的网络参数 300
9.4.3 主要的NFS参数 304
9.5 网络带宽的扩展 305
9.5.1 网卡绑定类型 305
9.5.2 负载均衡模式网卡绑定配置 306
9.5.3 负载均衡模式网卡绑定测试 308
9.6 主要的网络性能监视工具 309
9.7 网络子系统的运行性能衡量 313
9.7.1 网络子系统运行性能的衡量指标 313
9.7.2 网络子系统的运行性能曲线 314
9.7.3 网络资源主要性能衡量指标的测量 315
9.7.4 网络子系统相关的主要Oracle指标 317
9.8 几个网络子系统资源常见问题的讨论 317
9.8.1 系统中总是有SQL*Net message from client事件 317
9.8.2 如何发现过量的网络交互引起的响应缓慢 318
9.8.3 C语言处理数据的效能远远低于数据库存储过程 319
9.9 网络子系统资源优化的目标和道路 319
9.9.1 网络资源问题的场景和优化道路 319
9.9.2 明确网络故障,修正配置或修复存储 320
9.9.3 降低网络系统的全局输入压力 320
9.9.4 分布网络系统压力,使每个网络设备处于合理范畴 322
9.9.5 设置最佳的网络配置参数,使网络设备运行效率最佳 322
9.10 网络子系统资源优化案例 322
第10章 资源供给:队列锁 325
10.1 简单案例分享 325
10.2 并发性控制和队列锁 326
10.2.1 锁资源和锁资源的访问 326
10.2.2 锁资源的感知 327
10.2.3 队列锁相关的资源参数 329
10.2.4 队列锁、事务锁和DML表格锁 330
10.2.5 锁模式和意向锁 330
10.2.6 主要的Oracle队列锁 332
10.3 事务锁 333
10.3.1 行锁和不加锁的一致性读 334
10.3.2 TX锁冲突 338
10.3.3 死锁 345
10.3.4 基于TX lock的统计、事件和视图 350
10.3.5 TX lock资源冲突的优化道路 354
10.4 TM锁 355
10.4.1 TM lock作用模式和作用场合 356
10.4.2 dml_locks参数和TM lock 358
10.4.3 ora-00054和TM lock 358
10.4.4 TM lock的统计、等待事件和视图 359
10.4.5 TM lock资源的优化 361
10.5 sequence相关的锁 361
10.5.1 SQ lock 361
10.5.2 sequence导致的row cache lock 367
10.5.3 DFS lock handle和SV lock 369
10.5.4 sequence相关的统计、等待事件和视图 372
10.5.5 sequence相关锁资源的优化 374
10.6 HW lock和ST lock 375
10.6.1 高水位的概念和高水位的移动 375
10.6.2 HW lock冲突 378
10.6.3 HWM和全表扫描 378
10.6.4 HW lock相关统计、等待事件和视图 379
10.6.5 HW lock资源的优化之道 381
10.7 CF lock 382
10.7.1 CF lock的作用场景 382
10.7.2 rman备份或控制文件自动备份和CF lock 383
10.7.3 dump current redo log持有CF lock 384
10.7.4 CF lock相关统计、等待事件和视图 384
10.7.5 CF lock资源的优化之道 385
10.8 US lock 386
10.8.1 隐含参数_undo_autotune和参数undo_retention 386
10.8.2 事件10511和10512 388
10.9 RO lock 388
10.9.1 RO lock资源性能的相关因素 389
10.9.2 RO lock涉及的主要事件 390
10.10 队列锁运行性能的衡量 391
10.10.1 队列锁运行性能的衡量 指标 391
10.10.2 队列锁资源的运行性能 曲线 391
10.10.3 队列锁运行性能衡量 指标的测量 391
10.11 队列锁资源优化的目标和道路 394
10.11.1 业务压力导致锁资源 冲突 394
10.11.2 业务不当导致过多持有 队列锁 395
10.11.3 持有队列锁的时间过长 396
10.11.4 缺乏事物失败思维导致 事务规模过大 396
10.11.5 调度和运维不当导致队列 锁长期持有 396
10.11.6 拥有队列锁资源的进程 处于僵死或不活动状态 396
10.12 队列锁资源优化案例 397
第11章 资源供给:row cache lock和library cache lock 399
11.1 简单案例分享 399
11.2 row cache lock和ddl lock 399
11.2.1 row cache的组成 399
11.2.2 row cache lock涉及的视图 408
11.2.3 row cache lock冲突的排查 408
11.3 library cache lock 409
11.3.1 library cache lock和锁模式 410
11.3.2 library cache lock的场景观察 412
11.3.3 library cache lock涉及的视图 420
11.3.4 library cache lock故障的排查和优化 420
11.4 row cache lock和library cache lock运行性能的衡量 420
11.4.1 row cache lock资源运行性能的衡量指标 420
11.4.2 library cache lock资源运行性能的衡量指标 421
11.4.3 row cache lock锁运行性能衡量指标的测量 422
11.4.4 library cache lock运行性能衡量指标的测量 423
11.5 row cache lock锁资源优化的目标和道路 426
11.5.1 数据字典的变化 426
11.5.2 降低row cache object的重载 428
11.6 library cache lock锁资源的目标和道路 428
11.7 row cache lock和library cache lock锁资源优化案例 429
第12章 资源供给:buffer lock 431
12.1 简单案例分享 431
12.2 buffer header和buffer lock(pin) 431
12.2.1 buffer header和buffer lock 432
12.2.2 buffer lock的锁兼容 433
12.3 buffer lock冲突的简单验证 434
12.3.1 select和select操作 435
12.3.2 select和update操作 436
12.3.3 update和update之间 437
12.4 buffer lock运行性能的衡量和测量 439
12.4.1 buffer lock冲突的buffer block类型 439
12.4.2 buffer lock资源运行性能的衡量指标 441
12.4.3 buffer lock锁资源运行性能衡量指标的测量 441
12.5 buffer lock锁资源优化的目标和道路 442
12.5.1 降低buffer lock锁资源需求 443
12.5.2 分散buffer lock局部热点,降低buffer lock并发性冲突 443
12.5.3 降低buffer lock的持有时间 448
12.5.4 read by other session的buffer lock冲突 448
12.6 buffer lock锁资源优化案例 448
第13章 资源供给:latch 450
13.1 简单案例分享 450
13.2 并发性控制资源:latch或spinlock 450
13.2.1 latch获得和释放的基本过程 450
13.2.2 latch结构 453
13.2.3 CAS、TAS及latch的spin 453
13.2.4 Willing-To-Wait和no-Wait latch 455
13.3 latch的spin和spin_count控制 456
13.3.1 latch的spin和spin_count控制 456
13.3.2 不同latch的spin count细粒度控制 457
13.3.3 x$ksllclass视图和其他latch参数 459
13.3.4 spin_count参数的合理设置 460
13.4 latch资源冲突和性能优化 461
13.4.1 latch冲突的简单认知 462
13.4.2 常见的latch冲突 465
13.4.3 latch性能相关的统计数据 465
13.4.4 几张主要的latch视图 466
13.5 主要的latch资源场景和冲突 468
13.5.1 Cache buffers chains latch 468
13.5.2 cache buffer lru chains latch 473
13.5.3 library cache(lock/pin)latch 476
13.5.4 shared pool latch 481
13.5.5 row cache objects latch 490
13.5.6 undo global data latch 501
13.5.7 object queue header operation latch和checkpoint queue latch 505
13.6 latch资源运行性能的衡量 506
13.7 latch资源优化的目标和道路 507
13.7.1 降低latch资源需求 508
13.7.2 分布热点latch资源 513
13.7.3 降低latch资源的持有时间 520
13.7.4 spin_count和latch资源优化 524
13.8 latch资源优化案例 525
第14章 资源供给:mutex 527
14.1 简单案例分享 527
14.2 并发性控制资源:mutex 527
14.2.1 Oracle 11gR2中包含的mutex 528
14.2.2 mutex的工作方式 529
14.3 mutex对应的wait event说明和场景 532
14.3.1 mutex对应的wait event描述 532
14.3.2 cursor:pin S事件 533
14.3.3 cursor:mutex事件和library cache:mutex事件 535
14.3.4 hash table mutex、cursor:mutex S|X和SQL高版本 537
14.4 mutex资源冲突和性能优化 538
14.4.1 常见的mutex冲突 538
14.4.2 mutex性能相关的统计数据 539
14.4.3 主要的mutex视图 539
14.5 主要的mutex资源场景和冲突 542
14.5.1 cursor pin mutex 542
14.5.2 cursor parent mutex 542
14.5.3 hash table mutex 542
14.5.4 cursor stat mutex 543
14.6 mutex资源的运行性能衡量和测量 543
14.6.1 mutex资源运行性能衡量的主要指标 543
14.6.2 mutex资源运行性能衡量指标的测量 544
14.7 mutex资源优化的目标和道路 545
14.7.1 降低mutex资源需求 545
14.7.2 分布热点mutex资源 547
14.7.3 减少mutex资源的持有时间 550
14.8 mutex_spin_count、sleep_time、scheme和mutex资源优化 552
14.9 mutex资源优化案例 553

教学资源推荐
作者: [美]孟卫一(Weiyi Meng)纽约州立大学宾汉姆顿分校 於德(Clement T. Yu) 伊利诺伊大学芝加哥分校  著
作者: (美)AnHai Doan,Alon Halevy,Zachary Ives 著
作者: (美)Abraham Silberschatz 耶鲁大学 (美)Henry F. Korth利哈伊大学 (印)S. Sudarshan印度理工学院 著
作者: Ramon A.Mata-Toledo,Pauline K.Cushman
参考读物推荐
作者: Benjamin Rosenzweig; Elena Silvestrova Rakhimov
作者: 张文亮 编著
作者: [美]塔里克·法鲁克(Tariq Farooq),[美]查尔斯·金(Charles Kim),[印度]尼廷·文格勒卡(Nitin Vengurlekar),[印度]斯里达尔·阿万查(Sridhar Avantsa),[澳]盖伊·哈里森(Guy Harrison),[美]赛义德·加法尔·侯赛因(Syed Jaffar Hussain)著