具体描述
根据Oracle ACE提供的专家指导来管理动态的企业级计算基础设施,本书进行了全面修订与更新,涵盖了最新的工具和功能。通过阅读本书,可以知道如何准备硬件、部署Oracle RAC、优化数据完整性和集成无故障转移保护。在这本内容广泛的Oracle手册中,还讨论了故障排除、性能调优和应用程序开发等内容。
安装和配置Oracle RAC
使用Oracle ASM配置和管理磁盘组
使用服务、表决磁盘和Oracle集群件仓储库
用创新的Oracle Wait Interface诊断性能问题
揭示Oracle RAC中缓存融合和全局资源目录操作的内幕
探索Oracle RAC中备份与恢复的内部工作方式
利用Oracle数据库的负载均衡和“透明应用程序故障转移”功能
全面涵盖“扩展集群”
使用最高级的诊断方法来排除Oracle集群件中的故障
开发自定义的Oracle RAC应用程序
作者简介
K Gopalakrishnan,Oracle ACE,世界公认的顶级数据库性能调优专家。他是一位获奖作家,因为编写畅销书《Oracle Wait Interface性能诊断与调整实践指南》(清华版,ISBN为7-302-10987-7),被Oracle Magazine评为“2005年度Oracle Author”,他还曾经编写Oracle Database 11g Real Application Clusters一书。
目录信息
第Ⅰ部分 高可用性体系结构与
集群
第1章 高可用性和可伸缩性概述 3
1.1 高可用性 4
1.1.1 高可用性术语 4
1.1.2 计划内与计划外停机 5
1.1.3 端到端视角 6
1.1.4 停机时间的成本 6
1.1.5 构建冗余组件 9
1.1.6 实现高可用性的常用
解决方案 10
1.1.7 集群、冷故障转移和热故障
转移 10
1.1.8 高可用性选项的优缺点 13
1.2 可伸缩性 14
1.3 Oracle RAC解决方案 14
1.4 新兴趋势 15
1.5 小结 16
第2章 集群的基础知识与历史 17
2.1 用集群实现网格计算 19
2.2 集群中的共享存储 22
2.3 Oracle RAC的历史 27
2.4 Oracle并行服务器体系结构 29
2.5 OPS数据库的组件 30
2.5.1 集群组服务(CGS) 31
2.5.2 分布式锁管理器(DLM) 31
2.5.3 Oracle并行服务器中的
锁定概念 32
2.5.4 缓存融合第1阶段,CR
服务器 36
2.5.5 Oracle并行服务器的
局限性 37
2.6 Oracle RAC解决方案 38
2.6.1 可用性 38
2.6.2 可伸缩性 38
2.6.3 可负担性 39
2.7 小结 39
第3章 Oracle RAC体系结构 41
3.1 单实例环境与Oracle RAC
环境的对比 42
3.2 Oracle RAC组件 43
3.2.1 共享磁盘系统 44
3.2.2 Oracle集群件 50
3.2.3 Oracle集群件组件 50
3.2.4 联网栈组件 61
3.3 Oracle内核组件 65
3.3.1 全局缓存和全局队列服务 65
3.3.2 全局资源目录 65
3.3.3 Oracle RAC后台进程 66
3.4 小结 71
第Ⅱ部分 安装、配置和存储
第4章 Oracle Grid Infrastructure的
安装 75
4.1 安装之前的任务 77
4.1.1 配置网络 77
4.1.2 设置组和用户 79
4.1.3 配置共享存储 80
4.1.4 保护外壳和用户限制配置 82
4.1.5 配置内核参数 83
4.1.6 Oracle验证配置RPM 84
4.1.7 运行集群验证实用工具 84
4.1.8 Oracle Grid Infrastructure的
安装 88
4.1.9 安装Oracle Grid
Infrastructure 91
4.2 小结 108
第5章 Oracle RAC的安装 109
5.1 Oracle RAC的安装 111
5.2 小结 127
第6章 自动存储管理 129
6.1 有关自动存储管理的
一些事实 130
6.1.1 ASM的物理限制 131
6.1.2 操作中的ASM 131
6.1.3 ASM的组成模块 134
6.2 ASM管理 138
6.3 ASM工具 152
6.3.1 ASMCA:ASM配置助手 152
6.3.2 ASMCMD:ASM命令行
实用工具 152
6.3.3 ASM FTP实用工具 153
6.4 ASMLib 154
6.4.1 安装ASMLib 154
6.4.2 配置ASMLib 155
6.5 小结 156
第Ⅲ部分 Oracle RAC管理
第7章 Oracle RAC基本管理 159
7.1 初始化参数 160
7.1.1 特有参数 161
7.1.2 相同参数 163
7.1.3 实例特有的参数 166
7.1.4 管理参数文件 167
7.2 启动和停止实例 168
7.2.1 使用srvctl启动/停止实例 169
7.2.2 使用SQL*Plus启动/停止
实例 169
7.2.3 使用SRVCTL在OCR中
注册单实例数据库 170
7.3 管理撤销 170
7.3.1 自动撤销管理 170
7.3.2 手动撤销管理 171
7.4 管理临时表空间 171
7.5 管理联机重做日志 172
7.6 启动闪回区域 174
7.7 用SRVCTL管理数据库
配置 175
7.8 管理数据库对象 178
7.8.1 管理表空间 178
7.8.2 管理序列 178
7.8.3 管理表 178
7.8.4 管理索引 179
7.8.5 SQL命令的范围 179
7.8.6 数据库连接 179
7.9 小结 180
第8章 Oracle RAC高级管理 181
8.1 理解服务 182
8.2 管理服务 186
8.3 管理SCAN 189
8.4 管理集群就绪服务 190
8.4.1 集群件的启动过程
(Oracle 11g R1) 190
8.4.2 集群件的启动顺序 191
8.4.3 Oracle集群件自动启动 195
8.4.4 Oracle集群件手动启动 195
8.4.5 启动和停止CRS
(Oracle 11g R2) 195
8.4.6 验证CRS 196
8.4.7 禁用和启用CRS 197
8.4.8 CRS实用工具 197
8.5 管理OCR 205
8.6 管理Oracle本地注册表 207
8.7 管理表决磁盘 207
8.8 小结 208
第9章 Oracle RAC备份与恢复 209
9.1 备份简介 210
9.2 Oracle备份基础知识 211
9.3 Oracle RAC中的实例恢复 213
9.3.1 重做线程和重做流 214
9.3.2 重做记录和修改向量 214
9.3.3 检查点 214
9.4 崩溃恢复 216
9.4.1 崩溃恢复步骤(单实例) 216
9.4.2 Oracle RAC中的崩溃恢复 216
9.5 实例恢复 217
9.5.1 OPS中的实例恢复 217
9.5.2 Oracle RAC中的实例恢复 218
9.6 崩溃恢复和介质恢复 218
9.6.1 限定恢复 219
9.6.2 写块记录(BWR) 219
9.6.3 过去映像(PI) 219
9.6.4 两步恢复 220
9.6.5 缓存融合恢复 221
9.7 动态再配置和关联性主控
切换 222
9.7.1 Oracle RAC中的快速
再配置 222
9.7.2 缓存融合恢复内幕 225
9.8 表决磁盘和OCR的备份与
恢复 228
9.8.1 表决磁盘的备份和恢复 228
9.8.2 OCR的备份和恢复 229
9.9 小结 231
第10章 Oracle RAC性能管理 233
10.1 Oracle RAC设计考虑事项 234
10.1.1 Oracle最佳设计实践 234
10.1.2 Oracle RAC特有的最佳
设计实践 235
10.2 工作量分区 236
10.3 可伸缩性与性能 236
10.4 为Oracle RAC数据库选择块
大小 238
10.5 使用自动段空间管理 238
10.6 V$和GV$视图介绍 239
10.7 Oracle RAC等待事件 240
10.8 全局缓存统计信息 252
10.9 全局缓存服务时间 255
10.10 Oracle RAC中的队列
调优 258
10.11 Oracle AWR报表 259
10.11.1 AWR报表解读 260
10.11.2 GCS和GES消息发送
统计部分 264
10.11.3 STATSPACK 266
10.11.4 ADDM 266
10.12 集群互联调优 267
10.12.1 验证正在使用专用
互联 267
10.12.2 互联延迟 268
10.12.3 验证网络互联未饱和 269
10.13 小结 269
第Ⅳ部分 Oracle RAC中的
高级概念
第11章 全局资源目录 273
11.1 资源与队列 274
11.1.1 授权与转换 275
11.1.2 锁与队列 276
11.2 缓存一致性 276
11.3 全局队列服务 277
11.3.1 锁存器与队列 277
11.3.2 全局锁数据库和结构 279
11.3.3 Oracle RAC中的消息
发送 282
11.4 全局缓存服务 285
11.4.1 锁模式与锁角色 286
11.4.2 一致性读取处理 289
11.4.3 GCS资源主控 292
11.4.4 主读锁定 294
11.5 小结 299
第12章 缓存融合的深入探讨 301
12.1 缓存融合中的关键组件 303
12.1.1 ping 303
12.1.2 延期ping 304
12.1.3 过去映像(PI)块 304
12.1.4 锁主控 305
12.1.5 争用类型 305
12.2 缓存融合I或一致读
服务器 305
12.3 缓存融合II或写/写缓存
融合 308
12.3.1 操作中的缓存融合 310
12.3.2 缓存融合演练 316
12.3.3 资源主控和主控切换 334
12.4 后台进程和缓存融合 335
12.4.1 LMON:锁监控器进程 335
12.4.2 LMS:锁管理器服务器 335
12.4.3 LMD:锁管理器守护
进程(LMDn) 336
12.4.4 LCKn:锁进程(LCK0) 336
12.4.5 DIAG:诊断守护进程
(DIAG) 336
12.5 小结 336
第13章 工作量和连接管理 337
13.1 工作量分发与负载均衡 338
13.2 负载均衡和Oracle
网络服务 340
13.2.1 客户端负载均衡 340
13.2.2 服务器端负载均衡 344
13.3 透明应用程序故障转移 346
13.4 工作量管理 353
13.4.1 Oracle服务 353
13.4.2 负载均衡 355
13.4.3 高可用性功能 359
13.5 小结 367
第14章 Oracle RAC故障排除 369
14.1 安装日志文件 370
14.2 Oracle RDBMS中的日志目录
结构 370
14.3 Oracle Grid Infrastructure中的
日志目录结构 372
14.4 Oracle Grid Infrastructure安装
失败时的故障排除 373
14.5 数据库警告日志的内容 375
14.6 RAC的开与关 379
14.7 数据库性能问题 380
14.8 调试节点逐出问题 383
14.8.1 集群健康监控器 385
14.8.2 实例成员资格恢复 386
14.9 Oracle集群件模块的
高级调试 393
14.10 调试Oracle RAC中的各种
实用工具 395
14.11 小结 396
第Ⅴ部分 部署Oracle RAC
第15章 扩展Oracle RAC以实现最大
可用性 401
15.1 扩展的好处 403
15.1.1 全面利用资源 403
15.1.2 极快速恢复 403
15.2 设计考虑事项 403
15.2.1 光速 403
15.2.2 网络连通性 404
15.2.3 缓存融合性能 405
15.2.4 数据存储 405
15.3 常用数据镜像技术 406
15.3.1 基于阵列的镜像 406
15.3.2 基于主机的镜像 407
15.3.4 ASM优先读取 408
15.3.5 扩展集群中的挑战 408
15.4 扩展Oracle RAC的局限性 409
15.5 扩展Oracle RAC与Oracle
数据卫士的对比 409
15.6 小结 410
第16章 为Oracle RAC开发
应用程序 411
16.1 应用程序分区 414
16.2 数据分区 416
16.3 缓冲区繁忙等待/块争用 418
16.4 索引分区 419
16.4.1 缓冲区繁忙等待:
索引枝节/叶块争用 419
16.4.2 有序哈希集群 421
16.5 处理序列 422
16.5.1 CACHE和NOORDER 422
16.5.2 CACHE和ORDER 423
16.5.3 NOCACHE和ORDER 423
16.5.4 最佳实践:为每个实例
使用不同序列 423
16.6 连接管理 424
16.7 全表扫描 425
16.7.1 识别全表扫描 425
16.7.2 互联协议 426
16.8 分析中的库缓存效果 428
16.9 提交频率 428
16.10 小结 429
第Ⅵ部分 附 录
附录A Oracle RAC参考 433
附录B 添加和删除集群节点 461
附录C 参考文献 467
· · · · · · (收起)
读后感
用户评价
从反馈和讨论的角度来看,这本书似乎缺少一个活跃的社区支持或配套的在线资源。对于这种涉及复杂、不断更新的技术领域,一本厚重的纸质书难免会有时效性的局限。我翻阅了附带的光盘(如果有的话,或者配套的下载链接),希望找到一些可以动手实践的脚本或练习题,用来检验自己对理论知识的掌握程度。很遗憾,这方面的内容相对稀疏。一个优秀的参考手册,除了文字描述,还应该提供可操作的“脚手架”。比如,针对某个复杂的故障场景,提供一个模拟的环境搭建指南,让读者能够安全地复现问题并尝试书中的解决方案。如果能增加一个配套的GitHub仓库或者一个专门的勘误交流区,定期更新最新的补丁信息和针对新版本数据库的兼容性说明,那这本书的价值将不再局限于它出版时的那一刻,而是能随着技术的发展而持续增值。目前它更像是一个静态的知识存储库,缺乏与读者互动的生命力。
这本书的深度是毋庸置疑的,尤其是关于数据库内部锁机制和并发控制的那几章,描述得相当深入,甚至涉及到了底层的一些内存结构。对于资深的DBA来说,这部分内容绝对是提升理论素养的宝藏。然而,这种深度也带来了一个副作用,那就是对初中级用户不太友好。当我试图去理解它关于SGA和PGA内存动态调整的论述时,发现作者默认读者已经对Oracle的进程架构有着非常扎实的基础。如果这本书能像一本好的武功秘籍,先从基础的“扎马步”开始,用更生活化的比喻来解释那些复杂的内存交互过程,我想能吸引更广泛的读者群体。我试着对照着其他一些公认的经典入门书籍来看,它们的优势在于能把一个复杂的概念拆解成好几个小模块,逐一击破。而这本,似乎更倾向于将所有知识点融合成一个密不透风的整体,让人在试图深入时,反而容易迷失在细节之中,找不到主干线索。
我对这本书的逻辑组织结构感到有些困惑。前三分之一的内容都在强调高可用性的重要性和基础概念的搭建,这很合理。但到了中间部分,突然插入了一大段关于特定OS下内核参数优化的内容,这个插曲显得非常突兀。我理解,操作系统参数对数据库性能至关重要,但它似乎应该被整合进性能调优的章节,或者至少在引入时给出一个清晰的过渡说明,解释为什么它会出现在高可用配置流程的中间。这种章节间的跳跃感,使得阅读的连贯性受到了影响。就像看一部电影,剧情发展到高潮时,突然插入了一段无关的幕后花絮,虽然花絮本身可能很有趣,但会打断观众的情绪。我更希望作者能遵循“先架构、后配置、再优化、最后维护”这样的清晰脉络,让读者能够一步步构建起自己的知识体系,而不是在不同的技术栈之间频繁切换。
这本书的装帧设计挺有意思的,封面那种深蓝配上银色的字体,一看就感觉沉甸甸的,很专业的样子。我拿到手的时候,特意翻了一下目录,内容覆盖面确实广,从基础的架构概念到后期的性能调优,似乎都有涉猎。不过,坦白讲,对于一个刚接触数据库的朋友来说,开篇的部分稍微有点过于理论化了,很多概念都是直接抛出来的,没有太多循序渐进的引导。举个例子,刚讲到ASM的条带化和镜像策略,就直接跳到了具体的参数设置,中间缺少了一段“为什么我们需要这些策略”的铺垫。我更希望作者能在概念引入时,能多一些实际生产环境中的案例来佐证,这样理解起来会更直观。毕竟,数据库管理很多时候是靠经验和对原理的深刻理解来支撑的,光靠死记硬背那些技术术语是远远不够的。我期待它能在后续章节中,加入更多的“实战手记”或者“避坑指南”,这样对我们这些一线运维人员来说,价值会瞬间翻倍。目前看来,它更像是一本结构严谨的教科书,而不是一本可以随时翻阅解决问题的工具书。
说实话,这本书的排版和细节处理上,能看出作者团队是下了不少功夫的。特别是那些代码块和配置示例,字体大小、间距都处理得很到位,在弱光环境下阅读也不会感到吃力。我特别欣赏它在描述集群资源管理(CRS)时所采用的结构化叙述方式,每一步骤都清晰地编号和解释,很少出现那种让人摸不着头脑的跳跃性描述。但问题在于,虽然理论阐述得清晰,但在实际操作的层面,尤其是涉及网络配置和存储路径映射这种容易出错的地方,总感觉少了那么一点“血的教训”。比如,它详细解释了Quorum Disk的重要性,却没有花足够篇幅去讨论在不同网络延迟环境下,集群仲裁过程中可能出现的脑裂(Split-Brain)场景及其具体的解决步骤。这让我感觉,如果我拿着这本书直接去部署一个全新的生产环境,可能在遇到突发状况时,这本书的指导性就会显得有些不足。它更偏向于告诉你“应该是什么样”,而不是“出了问题该怎么办”。
对于rac 的基本描述还是很容易理解的,想要深入学习rac 必须多读oracle 的rac 方面的官方文档和亲手实践。。。
对于rac 的基本描述还是很容易理解的,想要深入学习rac 必须多读oracle 的rac 方面的官方文档和亲手实践。。。
五年前,为了vrident share的软件借助infiniteband实现server SAN组RAID而购买的书,虽然只读了前几章,并没有实操过,但是概念基本都理解了
五年前,为了vrident share的软件借助infiniteband实现server SAN组RAID而购买的书,虽然只读了前几章,并没有实操过,但是概念基本都理解了
五年前,为了vrident share的软件借助infiniteband实现server SAN组RAID而购买的书,虽然只读了前几章,并没有实操过,但是概念基本都理解了