深入理解Oracle RAC 12c(顶尖专家权威指南唯一最新版数据库著作 Oracle第一社区技术大牛翻译 Amazon五星推荐)
【美】Syed Jaffar Hussain(赛义德 贾法尔 侯赛因),Tariq Farooq(塔里克 法鲁克),Riyaj Shamsudeen(瑞亚吉沙姆斯丁),Kai Yu(于凯) 著
赵燚 梁涛 程飞 李真旭 译
ISBN 978-7-121-24066-9
2014年10月出版
定价:99.00元
488页
16开
编辑推荐
《深入理解 Oracle RAC 12c》是一本实践性极强的书,能帮读者很好地理解和实施Oracle真正应用集群(RAC),并减少RAC数据库的总体拥有成本(TCO)。即使是经验丰富的技术人员,也非常有必要去理解RAC堆栈背后的技术细节。
△深入描述RAC的概念和实施细节,其可直接应用到日常维护工作中。
△安装RAC过程中的故障分析及如何在安装中避免这些错误。
△运行良好的RAC系统依赖于高性能的互联网络,本书对这一非常重要而又容易被忽视的话题有详尽论述。
△本书的四位作者都是非常有经验的RAC工程师,他们都有宝贵的运行和维护RAC环境、以及解决各种RAC问题的经验。
△作者在本书中提供一个框架,帮助读者避免重复教训,更简单更专业地管理RAC系统。
△提供正确实施RAC的最佳实践,使之匹配应用程序的负载,使读者更容易解决RAC疑难。
内容提要
《深入理解Oracle RAC 12c》介绍了Oracle RAC12c技术的方方面面,涵盖了与RAC技术相关的集群件知识、数据库知识、存储知识、网络知识,并在基于RAC的应用软件设计、优化方面给出了大量的有价值的建议。
特别值得阅读的是,《深入理解Oracle RAC 12c》紧跟Oracle数据库新版本的发行,使用专门的章节描述了比如RAC One Node这样11g中的新特性,还有Flex集群这样12c中的新特性,是我们深刻了解RAC的基本知识,并紧跟技术发展潮流的优秀书籍。
《深入理解Oracle RAC 12c》适合有一定Oracle数据库经验的数据库管理员和开发者阅读。
目录
第1 章 Oracle RAC 概述 ..................................................... 1
高可用性和可扩展性 ....................................................... 2
什么是高可用性 ............................................................. 2
数据库的可扩展性 ......................................... 3
Oracle RAC ........................................ 5
数据库集群体系架构 ........................................ 5
RAC 架构 ................... 6
RAC 的硬件要求............................... 8
RAC 的组件.......................................................................... 10
Oracle RAC 的缓存融合....................................................... 13
RAC 的后台进程.................................................................. 16
获得Oracle RAC 的好处................................................... 19
高可用性和意外停机 ............................... 19
高可用性和计划停机时间 ........................................................ 23
使用Oracle RAC One Node 实现高可用性....................... 25
RAC 的可扩展性....................................................... 25
使用Oracle RAC 整合数据库服务.............................. 28
部署RAC 时的注意事项........................................ 30
拥有成本 .................................................. 30
高可用性的注意事项 ....................................... 31
可扩展性的注意事项 ............................................. 32
是否选择RAC ................................... 33
本章小结 ......................................... 34
第2 章 Oracle 集群件堆栈的管理和故障诊断 ................................... 35
Oracle 12cR1 的集群件及其组件............................................. 36
Oracle 集群件的存储组件.................................... 36
集群件软件堆栈 .............................................. 38
集群件启动顺序 ................................................. 40
ASM 和集群件谁先启动.................................. 42
集群件管理 .......................................................... 43
集群件的管理工具和实用程序 ............................. 43
启动和停止集群件 ............................................ 45
管理Oracle 集群件................................................ 45
管理OCR 和表决磁盘........................................... 48
管理CRS 资源......................................................... 50
添加和删除集群节点 ............................................. 50
常见集群件启动问题的解决方法 .................................. 53
诊断、调试、跟踪集群件和RAC 问题................................. 58
调试集群件的组件和资源 ...................................... 58
网格架构中各组件的目录结构 ............................... 61
Oracle 集群件故障诊断工具 ..................................64
CHM .................................................... 69
本章小结 ....................................................... 77
第3 章 Oracle RAC 运行实践 ............................... 79
工作负载管理 .......................................... 79
服务 ............................................... 80
服务指标 ........................................................ 82
负载均衡目标 ................................................ 83
运行时的故障切换 ........................... 86
第二个网络中的服务 ........................... 86
服务的使用指导 ...................................... 86
SCAN 和SCAN 监听 ............................. 87
第二个网络中的SCAN 监听(12c) ........................... 91
SCAN 监听使用指南....................................... 92
全局数据库服务(12c).................................................. 93
RAC 中的故障切换.............................................. 94
透明应用程序故障切换(TAF)............................................................................................95
快速连接故障切换(FCF)....................................................................................................96
WebLogic Active GridLink......................................................................................................97
事务卫士(12c)...................................................................................................................97
应用程序的连续性(12c)........................................................... 98
策略管理的数据库 ...................................... 99
临时表空间 ..................................... 100
大量数据的修改 .................................................... 101
性能指标收集 ............................................. 102
参数文件管理 ............................................ 102
密码文件管理 .................................... 103
管理数据库和实例 ........................................... 104
管理VIP 和监听.................................... 106
其他主题 ......................................... 107
进程优先级 ...................................................... 107
内存不足 .......................... 108
SGA 的大小................................................... 109
文件系统缓存 ........................... 110
本章小结 ........................................ 110
第4 章 RAC 12c 的新特性 ................................................... 111
Oracle Flex 集群............................. 112
Oracle Flex 集群的架构 .....................................112
Flex 集群的扩展性和可用性....................................... 114
配置Flex 集群..................................... 115
Flex ASM 架构..................................................... 120
Oracle Flex ASM 架构............................................. 120
Flex ASM 和Flex 集群 ..................................... 122
配置Flex ASM ...................................... 122
ASM 客户端和重定位................................. 124
新的ASM 存储限制...................................... 125
在磁盘组中更换ASM 磁盘.................................. 125
清理ASM 磁盘组和文件.................................... 125
在ASM 磁盘组中均匀地读取数据............................ 126
衡量和优化ASM 重新平衡操作................................ 126
系统命令的假设分析和评估 ................................ 126
Oracle RAC 中的可插拔数据库.................................. 128
可插拔数据库的体系结构概述 .................................... 128
Oracle RAC 中的PDB 数据库 ...................................... 132
12cR1:RAC 中的其他新功能 ........................................... 136
RAC 中的公共网络:添加对IPv6 的支持 ........................... 136
全球数据服务 ...................................... 136
在线修改资源的属性 ......................................... 136
12cR1 RAC:基于策略的数据库管理......................... 136
ASM 磁盘组:共享的ASM 密码文件 ........................ 137
节点的有效性检查:限制服务的注册 ................................ 137
12cR1:共享的GNS 服务 ................................ 137
RAC 12cR1:限制服务注册................................................... 137
Oracle ASM、ACFS 和ADVM:功能的改进以及新特性................... 137
NFS 的高可用性 ...........................................138
12cR1:CHM 的增强 ..................................... 138
Windows:支持Oracle 安装用户 ..................................... 138
OUI 的增强和改进.......................................... 138
12cR1:安装和升级——自动运行脚本.............................. 139
12cR1:应用的连续性............................................ 139
事务的幂等性和Java 事务卫士............................... 139
已废弃和不再支持的功能 .......................................... 139
本章小结 ......................................................... 140
第5 章 存储和自动存储管理............................................... 141
Oracle RAC 中的存储架构和配置.......................................... 143
Oracle RAC 中的存储架构和I/O.......................................... 143
磁盘冗余阵列配置 .................................................. 146
存储协议 ............................................................... 148
多路径设备配置 ..................................................... 151
设置设备的所有权 ............................................. 153
自动存储管理 ........................................... 155
ASM 实例.............................................................. 156
ASM 存储结构................................ 164
用SQL 命令和V$ASM 视图管理ASM .............. 173
在ASM 上存放Oracle 集群注册表和表决磁盘 ............................... 173
在安装网格架构时选择ASM 存放Oracle 集群注册表和表决磁盘 ..................... 173
将Oracle 集群注册表和表决磁盘迁移到新的ASM磁盘组 .................. 176
ASM 集群系统文件........................................................ 179
建立ACFS....................................................................... 181
用ASMCA 为Oracle RAC 创建ACFS 的主目录..................................... 183
本章小结......................................................................... 185
第6 章 应用设计上的问题................................... 186
局部性插入操作 .................................................. 186
大量的TRUNCATE 或DROP 命令.......................... 189
序列缓存..................................................................... 191
空闲块链表和自动段表空间管理 ................................. 193
过多的提交 ......................................................................194
长时间没有提交的事务 .......................................................... 195
本地访问 ............................................................... 196
小表的更新................................................................................197
索引设计 ..................................................................198
低效的执行计划 ...................................................................199
过多的平行扫描 ............................................................ 199
全表扫描 ..................................................................................199
应用之间的关联性 ....................................... 200
管道 ............................................... 201
应用改变的实施 ........................................... 201
本章小结 ............................................ 202
第7 章 管理和调优一个复杂的RAC 环境 ..................................... 203
比较共享和非共享的Oracle 主目录的优点和缺点.................... 204
服务器池 .............................................. 205
服务器池的类型 ....................................................... 206
系统定义的服务器池 ........................................... 206
用户定义的服务器池 .................................................. 206
创建和管理服务器池 ........................................... 207
计划和设计RAC 数据库...................................... 209
策略管理数据库 ............................................. 210
实例锁定 ................................................ 213
小规模和大规模的集群环境设定 ............................. 214
裂脑案例和如何避免 ................................................. 215
理解、解决和防止节点驱逐 ............................... 217
节点驱逐——梗概和综述 ................................ 217
延伸距离(伸展)集群——摘要、概况和最佳实践 ......................................................... 221
延伸距离(伸展)集群:创建和配置最佳实践 .................... 222
创建和配置 ................................................................ 223
Oracle 图形界面...................................................... 223
Oracle 企业管理器云控制12c....................... 225
RAC 的安装和设置——在不同操作系统:Linux、Solaris 和Windows 中的考虑和窍门 ....................... 227
RAC 数据库性能调优:一个迅速简单的途径................................... 228
性能调优的3 个A 工具 ................................................. 229
本章小结 ........................................................... 234
第8 章 RAC 的备份与恢复 ....................................... 235
RMAN 概要............................................................. 235
介质管理层 ................................................................237
联机备份和恢复的预备知识 ................................................ 238
非RAC 数据库和RAC 数据库的对比 ............................. 239
重做日志和归档日志的共享存储位置 .......................... 240
快照控制文件配置 ........................................... 241
为RAC 配置多通道..................................... 242
RAC 中的并行机制....................... 245
RAC 中的实例恢复和崩溃恢复.................................. 245
真实世界中的例子 ...................................... 250
使用12c 的OEM 云控制器来管理RMAN .............................. 254
OCR 恢复....................................................... 259
本章小结 ............................................... 261
第9 章 网络实践.................................................. 262
网络类型 .............................................. 262
网络层 ................................................ 263
协议 ................................... 265
VIP ......................... 269
子网划分 .......................................... 270
集群内联 .............................. 271
巨帧 .................................................. 274
负载均衡和故障转移 ......................................... 279
内核参数 .................................................. 282
网络测试工具 ............................................ 283
GC Lost Block 问题...................................... 288
配置Oracle RAC 和集群件网络环境.................... 290
建立IP 和域名地址的解析............................... 293
网格构架安装过程中的网络设置 ................ 297
集群件的网络配置 ......................................... 300
网络故障转移 .......................................... 306
第二网络配置 .......................................... 307
本章小结 .......................................................... 308
第10 章 优化RAC 数据库 ........................................ 309
缓存融合介绍 ............................................................. 309
缓存融合的处理 .......................... 310
GRD ............................................................ 312
BL 资源和锁................................................. 313
性能分析 ............................. 317
接收端的分析....................................................................... 318
RAC 等待事件............................................................ 325
GC Current Block 2-Way/3-Way ................. 325
GC CR Block 2-Way/3-Way ..................................................327
GC CR Grant 2-Way/GC Current Grant 2-Way ........................329
GC CR Block Busy/GC Current Block Busy ...........................329
GC CR Block Congested/GC Current Block Congested............................ 329
占位等待事件 ......................................... 329
发送端分析 ..................................... 330
曾用块的类型(被使用的块的类型) .............................. 333
GCS Log Flush Sync ............................................ 334
保护LMS 进程...................................................... 335
GC Buffer Busy Acquire/Release .......................... 335
唯一索引 ..................................... 338
表块..................................................................................339
DRM ................................................................341
DRM 进程概述....................................................... 342
DRM 的阶段......................................................... 344
GRD 冻结.............................................. 345
参数 ........................................................ 345
在12c 中的改变......................................... 346
DRM 和Undo........................................... 346
DRM 的故障诊断...................................................... 347
AWR 报告和ADDM............................................. 347
ASH 报告........................................................ 348
本章小结 ......................................................... 348
第11 章 锁和死锁.................................................... 350
资源和锁 ........................................................ 350
SGA 的内存分配............................................................ 352
资源类型 ............................................................ 354
锁模式 ........................................................... 356
锁相关的视图 .................................................. 357
可插拔数据库(12c)............................................................ 357
锁争用的故障排除方法 ................................... 358
入队争用 ............................................................................360
TX 入队争用(Enqueue Contention) ............................... 361
TM 入队争用.......................................... 364
HW 入队争用.................................. 366
DFS Lock Handle ......................................... 366
SV 资源.................................... 368
CI 资源................................................... 371
DFS lock handle 总结....................................... 373
Library Cache Locks/Pins ...................................... 373
诊断Library Cache Lock 争用.................................... 376
队列统计信息 ...................................................................377
v$wait_chains ............................................ 378
Hanganalyze ................................................ 379
死锁 .............................................. 380
LMD 跟踪文件的分析.................................... 381
本章小结 ................................................... 385
第12 章 RAC 中的并行查询 ......................................... 386
概述 ................................................................................386
RAC 中的并行执行..................................................... 390
PX 服务进程的位置.................................... 391
测量PX 通信...................................................... 395
并行执行与缓存融合 ................................................... 397
PEMS................................................................... 398
并行特性与RAC.................................................................... 398
诊断并行执行问题 ............................................ 411
在RAC 中创建索引......................................... 413
RAC 中的并行DML............................................. 414
12c 中的并发联合处理............................. 415
Partition-Wise Join ..............................................416
本章小结 .................................................. 417
第13 章 集群件和数据库升级......................................................... 419
配置 ............................................................ 419
升级之前的检查 ............................................................... 421
开始Oracle 集群件升级................................................. 423
rootupgrade.sh 脚本的重要性...................................... 430
升级后的工作 ............................................... 433
集群件降级 ................................................................434
数据库升级................................................................................437
手动升级数据库..................................................................... 438
数据库升级后的步骤 .............................................................. 440
使用DBUA 升级数据库.............................................................. 440
DBUA 的优势........................................................................... 443
数据库降级 ..................................................................443
本章小结 ..................................................................444
第14 章 RAC One Node........................................................ 445
RAC One Node 概述.................................. 445
升级到11.2.0.2 或更高版本...................................... 446
配置RAC One Node 环境........................................ 447
配置RAC One Node 数据库.................................... 449
先决条件 .......................................... 449
开始DBCA 创建过程 ....................450
指定RAC One Node 初始化参数............................ 452
管理RAC One Node 数据库......................... 453
核实配置信息 ................................................... 453
验证在线迁移状态 .............................. 454
停止和启动数据库 ...................................... 454
完成数据库在线迁移 ................................ 455
处理计划外的节点和集群重启 ................................................. 457
RAC One Node 和标准RAC 之间的转换 .............................. 458
扩展为标准RAC ...................................................................................458
降级到RAC One Node .......................................................459
通过12c 中的云控制管理RAC One Node............................... 460
通过12c 中的云控制进行数据库迁移................................... 460
第三方故障转移技术和RAC One Node 的对比............................. 463
本章小结 .......................................................... 464
精彩节摘
译者序
很高兴《深入理解Oracle RAC 12c》(英文版书名为ExpertOracle RAC 12c)这本书跟大家见面了,这是我在英文技术书籍翻译领域做出贡献的第二本书,之前的一本是Oracle Expert Exadata,那时是译者之一,而这次则勉强算是组织者。
并无参与太多翻译工作,于是说说翻译这本书的由来,聊以作序。
本书的作者之一Kai Yu,相识已久,华人一枚,在美国Dell 总部工作。其主要工作内容为研究Dell硬件环境中的Oracle数据库解决方案,在Oracle Virtual Machine 和Oracle RAC方面尤为擅长,他还是OracleACE Director。每年在旧金山的Oracle OpenWorld 上遇到,总是颇感亲切,毕竟能用中文交流的机会不多。Kai Yu 在Facebook 上颇为活跃,实际上大量的国外Oracle 技术专家在Facebook 上都彼此熟络,交流甚多。
说回到书来,在2013 年的早些时候,获悉Kai Yu 正在跟另外几位Oracle ACE Director合作写一本关于OracleRAC 的书籍,其中有Riyaj Shamsudeen,他的orainternals 网站(orainternals.wordpress.com)我已经订阅多年,还曾将他的RAC Object Remastering(Dynamic Remastering)这篇文章翻译成中文。这篇DRM 的文章是我看过写得最全面、最细致的一篇文章。虽然我没有见到此书,但这样豪华的作者团队也让我认定此书是一本高品质的技术书籍,于是在美国见到Kai Yu 的时候,就直接敲定等他们出版了书籍我来负责组织中国的Oracle 技术专家进行翻译。
岁月荏苒,时光如梭,很快就到了2013 年7 月,Kai Yu 来信说书很快要出版了,正在最后审校。于是我在ACOUG(中国Oracle 用户组)的核心成员邮件组中发了一封召集译者的邮件,短短两天的时间集齐了4 位译者,他们是李真旭(@oracledatabase12c)、赵燚(@netbanker)、程飞(@xifenfei_惜分飞)、梁涛(@--梁涛--),Yong Huang(@yong321,他是ITPUB 的Oracle 专题深入讨论版中最称职的版主)也担任了翻译审校工作,整个译者团队同样豪华。
2013 年8 月该书在美国出版,9 月3 日电子工业出版社计算机图书出版分社的张春雨编辑就发来了电子版,于是历时8 个月的翻译工作正式开始。
4 位译者分别承担了本书不同章节的翻译工作,YongHuang 和我则承担了审校工作。有过亲身经历,因此也深知在繁忙的工作之余要按照进度进行翻译,是多么让人纠结的一件事情!不过我也深知,在所有章节翻译完毕、最后定稿的那一刻,心中的满足和回首的欣慰也足以让人继续前行。
或许这整个由来是对于引进国外专著并进行技术传播的一大推动,以前通常是出版社编辑去找合适的书,拿到原版书籍,然后找高校的师生担任翻译工作。而这本书的翻译流程则优化成:技术人寻找书籍→在ACOUG 中招募专业的技术专家担任译者→出版社谈下图书的版权→交由译者翻译。在这个流程中,技术人员更多地参与到书籍的遴选工作中,并主动承担译者的角色,所以这将成为技术人翻译给技术人看的技术书,对于一本优秀的书这才是正确的流程,让合适的人做合适的事。
这已经是ACOUG 翻译的第二本技术书籍了,第一本是OracleExpert Exadata,这必然不会是最后一本。
译者辛苦,读者也同样辛苦。希望大家开卷有益、学有所用。
张乐奕(Kamus)
2014 年4 月26 日于北京
首先非常感谢ACOUG 让我有机会参与这本图书的编译工作,通过这次宝贵的翻译经历让我更深刻地理解了Oracle 中的很多技术点和我对它的一些疑惑。原著作者都是多年从事Oracle DBA 的前辈,因此学到了很多宝贵的实践经验,书中介绍的Oracle 12c 的新特性也是非常令人期待的。作为一个技术人员,我通常会对新技术抱有极强的兴趣和疑问,希望读者也和我一样在阅读此书的时候可以保持一份好奇心和求知欲。
本人目前在Oracle Global Clouding 部门担任资深数据库管理员工作,该书的第5 章、第6 章和第7 章是由我翻译的,如有疑问可以通过stevenzhaoyi@gmail.com和我探讨,再次感谢大家。
赵燚
2014 年7 月16 日于美国旧金山
非常荣幸能够和李真旭、赵燚、程飞三位一起参与本书的翻译工作。本书深入介绍了Oracle RAC 12c,包括RAC 的原理、RAC 12c 的新特性、备份恢复和一些最佳实践等,希望读者能从本书中有所受益。
我翻译了其中的第1 章到第4 章。由于本人水平有限,如有错误,欢迎大家指正。
谢谢Kamus 的组织工作,谢谢Yong Huang 的帮忙和校对。
感谢我的家人,给了我精神上的极大支持和鼓励。
梁涛
2014 年3 月2 日于北京
随着时间的流逝,我们依依不舍地告别了Oracle 9i、Oracle 10g,来到了Oracle 11g 主打的天下。古书有云:兵马未动,粮草先行。在Oracle 技术日新月异的今天,Oracle12c正式版发布了近一年(2013 年6 月发布),现在正是学习Oracle 12c 的最佳时期,为将来企业大量部署12c 做技术储备,为你将来的数据库发展奠定更好的基础。将来的企业级应用对数据库的高可用性提出更高的要求,而Oracle RAC 的解决方案刚好满足了客户在高可用性、高性能方面的需求,将来的Oracle DBA 可能需要掌握更多有关RAC 技术的知识。本书重点讲解了Oracle RAC 12c 的相关知识,帮助你快速进入RAC12c 的世界。
我主要翻译了本书的第8 章、第10 章和第11 章。
第8 章总结和提供了有用的工具、技巧和技术,在RAC 环境中来使用RMAN 的设计和部署,以获得最佳的数据库备份和恢复过程。此外,对RAC 环境中实例恢复和崩溃恢复操作的内部机制进行了非常详细的解释。还总结、讨论和展示了各种OCR 的恢复案例。
第10 章用简单易懂的方式介绍了缓存融合处理过程的内部结构。阅读内文后,你应该能够理解RAC 等待事件的含义,识别那些RAC 等待事件中包含的对象,并找出遭遇或者导致RAC 等待事件的SQL 语句。此外,你应该能够了解LMS 进程处理块传输的细节。占位等待事件(Placeholderwait events)指示出会话的当前状态,但你应该找出等待时间所计数的那个最终的等待事件。DRM 是一个很好的功能,它在实施了应用程序亲和性的环境上是非常有用的。但遗憾的是,资源remaster 会完全冻结GRD,希望在未来的版本中最小化GRD 的冻结,即只是GRD 中一小部分被冻结。当然,AWR 报告和问题时间段的ASH 报告是了解性能问题的根本原因的一个重要步骤。
第11 章主要讲解了资源和锁定是通过RAC 节点的GES 层在GRD 中进行维护的。这种资源的全局化允许RAC 去协调资源的改变。通过检查GES 层视图,可以了解锁定争用的根源和解决性能问题。此外,LMD 进程在跟踪文件中显示了必要的细节,对LMD 跟踪文件的分析能帮助我们更快分析问题的根本原因。
在本书翻译的半年多时间里,非常感谢Lunar(张大鹏,技术博客:www.lunar2013.com)为本书的翻译和校对工作牺牲了大量个人时间,协助翻译和校对,并提出了很多宝贵的意见和见解,使得相关章节能够顺利和较为准确地翻译出来;同时感谢张乐奕(Kamus)、李真旭(Roger)等朋友的大力帮助,得以顺利地翻译完相关章节。
由于本人水平所限以及翻译时间较紧张,书中肯定存在错谬之处,真挚欢迎大家的批评与指正。
程飞(惜分飞)
2014 年4 月28 日于杭州
在万众期待之下,2013 年6 月,Oracle 发布了12c 版本。这是一款富有革命性的数据库产品,作为DBA,尤其是在技术日新月异的情况下,必须要不断学习和充实自己。很快国外几位“牛人”出版了Expert Oracle RAC 12c 一书,当我正在寻找此书电子版的时候,收到Kamus 的E-mail,问我是否有兴趣参与这本书的翻译,源于此,我加入了此书的翻译阵营!
我主要翻译了本书的第9 章、第12 章、第13 章和第14 章。虽然翻译的内容不多,然而过程却是艰难的。这是个人参与翻译的第一本Oracle 书籍(目前正在翻译Oracle PerformanceFirefighting 一书,尚未完成,希望能坚持完成并分享给大家)。在此之前主要混迹ITPUB 论坛,撰写个人技术博客www.killdb.com,希望以此能将我工作中遇到的问题以及个人的学习心得分享给大家。
由于知识所限,译稿中难免出现错误,欢迎指正和交流!
李真旭(Roger)
2014 年7 月17 日于北京
作者简介
Syed Jaffar Hussain 拥有20 年以上的IT 经验,这其中包括担任了14 年的Oracle 生产数据库管理员。基于他优秀的专业技能以及多年来对Oracle 社区的贡献,Oracle 授予他业界最有威信的Oracle ACE Director 称号和2011 年最佳Oracle 数据库管理员。他也是Oracle10g 的OCM(Oracle 认证大师)——需要通过上机测试才能通过的Oracle 考试,和Oracle 10g 的RAC 认证专家。Syed Jaffar 还在2011 年参与编写了Oracle 11g R1/R2Real Application Clusters Essentials 一书。他的博客是http://jaffardba.blogspot.com。他经常在各种Oracle 活动中参与演讲,包括OracleOpen World 年度大会和各种基于网络的技术讨论,同时他也是网络论坛的积极参与者。可以通过twitter/facebook/linkedin 上的id: sjaffarhussain 来关注他或是发邮件:sjaffarhussain@gmail.com与他进行联系。
Tariq Farooq 是Oracle 领域的技术专家/架构师/问题解决者,他已经有在复杂庞大的环境里使用Oracle 20 年以上的工作经验。他建立了IOUG虚拟和云计算兴趣小组,同时也是非常活跃的论坛领导者、演讲者、作者和博客撰写家。他建立了http://www.brainsurface.com/,这是一个有许多注册用户互相学习Oracle 技术的网络论坛。Tariq 发起并参与和组织了许多技术研讨会,包括:VirtaThon,最大的Oracle 线上研讨会;CloudaThon 和RACaThon,以及2011 年在MIT 举办的第一届Oracle 主题研讨会。他还参与创建和主持了VirtaThon网络广播活动。Tariq 是Oracle RAC 认证专家,拥有超达14 个Oracle认证,并参与多达100 篇文章、白皮书和其他书籍的撰写。Tariq 参与了几乎所有Oracle世界各地的大会/活动并参加演讲,包括Oracle OpenWorld 大会、Collaborate、BrainSurface、VirtaThon、IOUG、OOUG、OUGLC、TCOUG、UKOUG 和OTNExpert 大会,等等。2012年和2013 年,Tariq 分别被Oracle 授予Oracle ACE 和Oracle ACEDirector。
Riyaj Shamsudeen 是业界公认的RAC 专家,数据库内部结构和性能调优专业人士,他拥有20 年以上的实现、使用和调优Oracle 数据库的经验。他是Oracle ACE Director 和OakTable 的成员之一。Riyaj 一共参与撰写了4 本关于Oracle调优的图书, 他是非常活跃的博客作家(http://orainternals.wordpress.com/),OraInternals 的总裁和大型Oracle 研讨会(UKOUG、HOTSOS、Open World、RMOUG)的发言人。可以通过www.linkedin.com/in/ riyajshamsudeen;@riyajshamsudden 关注他。
Kai Yu 目前是戴尔Oracle 解决方案工作室针对RAC、Oracle 虚拟化和云的资深高级工程师。他有超过18 年使用Oracle 的经验,实现和管理了很多大型的Oracle RAC 数据库,包括有2000 个RAC 数据库的大型机构的经验。Kai Yu 编写了许多著名科技文章,也是16 个国家各种Oracle 研讨会上的常客,包括Open World、Collaborate、UKOUG、EMEA OUG Harmony、Norway OUG、OTN 亚洲行和拉美行。他也是Oracle架构师日的主要演讲者。
Kai 是Oracle RAC SIG 的总裁和两个会议的主持。他是IOUG 合作会议的管理人员之一,并兼管IOUG RACboot camp、HA boot camp 和Enterprise Manager 12c deep dive。他在2010 年被授予Oracle ACE Director,被OTN 在2011 年授予最佳Oracle ACE,被Oracle 应用用户组在2011 年授予最佳创新奖,被Oracle 杂志在2012 年授予Oracle 杰出贡献奖,本年度最佳技术人员:云架构师。Kai 在自己的Oracle 博客上经常与大家分享Oracle 技术:http://kyuoracleblog.wordpress.com/。
媒体评论
随着时间的流逝,我们依依不舍地告别了 Oracle 9i、Oracle 10g,来到了 Oracle 11g 主打的天下。古书有云:兵马未动,粮草先行。在 Oracle 技术日新月异的今天,Oracle12c正式版发布了近一年(2013 年 6 月发布),现在正是学习 Oracle 12c 的最佳时期,为将来企业大量部署 12c 做技术储备,为你将来的数据库发展奠定更好的基础。将来的企业级应用对数据库的高可用性提出更高的要求,而 Oracle RAC 的解决方案刚好满足了客户在高可用性、高性能方面的需求,将来的 Oracle DBA 可能需要掌握更多有关 RAC 技术的知识。本书重点讲解了 Oracle RAC 12c 的相关知识,帮助你快速进入RAC 12c 的世界。
——国外网站读者评论
Oracle真正应用集群在本质上是一个复杂的技术基础设施。《深入理解 Oracle RAC 12c》覆盖Oracle RAC的各个方面。这意味着,这本书并不只覆盖Oracle RAC 12C的新功能,而且每章所呈现的是OracleRAC 12cR1的最新版本。你可以在这本书中找到关于OracleRAC的一切。如果你想深入学习Oracle RAC 12c,那么你必须读这本书。正如业内所知,本书的每一个作者都是Oracle方面的著名专家。
——国外网站读者评论
Oracle 12C已经问世数月,我们开始看到一些12c图书陆续登场。其中,由四位 Oracle ACE总监联袂献上的《深入理解Oracle RAC 12c》毫无疑问是最好的一本。让我们一起看看这本书的作者,第一作者Syed Jaffar Hussain 是Oracle ACE总监,2011年度DBA;第二作者Tariq Farooq,同样是Oracle ACE总监;第三作者Riyaj Shamsudeen,又是Oracle ACE总监,OakTable Network社区成员;第四作者Kai Yu ,还是Oracle ACE总监, 2012年度技术专家……如果你不熟悉Oracle ACE流程,那我可以告诉你,要达到总监地位需要史诗般的成就和学识。所以,四位王牌总监写的书值得我们高度关注。
——国外网站读者评论
前言
我要将此书献给我的父母(Saifulla 先生和夫人),我的妻子Ayesha,我的三个小精灵(Ashfaq、Arfan 和Aahil),当然还有整个Oracle 社区。
首先,我要感谢创造万物并赐予我们如此美妙生活的上帝,还有,我的父母的谆谆教诲,让我体验生命中所有的美好,让我能够成为今天的我。我的妻子和孩子们,由衷地感谢你们,是你们牺牲了家庭成员在一起的时光让我可以全身心地投入这本书籍的写作中,并且自始至终给我鼓励。毫无疑问,如果没有我的妻子、朋友、同事的极大支持和鼓励,这本书没有可能问世,再次感谢你们。
在这里我还要感谢我的经理们(Khalid Al-Qathany、Hussain MobarakAlKalifah 和Majed Saleh AlShuaibi),我的挚友们(Khusro Khan、MohammedFarooqui、Naresh Kumar、Shaukat Ali、Ahmed、Mohammed Abdul Kaleem、MohammedArifuddin Ghori、Haris Afsar Ahmed、Sachin、Ibrahim Ali、Chand Basha、Mohammed Anees、Asgar Ali、Gaffar Baig、Hakeem、Mohsin),我的同事们和支持者们,谢谢你们一直以来的鼓励和巨大的支持。
并且我要由衷地感谢本书的正式技术审校(Sandesh Rao 和 Arup Nanda),他们从百忙之中抽出时间来审阅本书并提供了非常有价值的建议。同时也必须要感谢Apress 出版社的成员们,这份感谢是送给参与出版本书的Apress 全体成员,“你们如此优秀,在我们撰写本书的过程中给予了极大的帮助,期待与你们的下一次合作,谢谢各位”。特别要感谢Jonathan Gennick,谢谢您对我们的信任,让我们有机会可以为Apress 出版社写一本书。
我还要将我的感谢送给我的义务技术审校者,排名不分先后,Jeff Smith、Bernhard de CockBuning、Asad Khan、Yury Veli Kanov、Khusro Khan、Shautkat、Aman Sharma 和Inam Ullah Bukhary,你们帮我审阅我编写的章节,提供意见,纠正我的错误,这一切都让我受益良多。
最后,我想要感谢本书的合作者们,Riyaj Shamsudeen、Kai Yu 和Tariq Farooq,在过去的一年里为本书你们付出了巨大的努力,辛苦的工作。没有你们的帮助/支持/贡献就不会有这本书,我非常享受跟你们一起合作的时光,期待在不远的将来,我们能有机会再次合作。
—Syed JaffarHussain
我想借此机会对万能的上帝,我的父母(Abdullah Farooq 先生和夫人),我的妻子(Ambreen),特别是我的孩子们(Sumaiya、Hafsa、Fatima 和 Muhammad-Talha)以及我身边的所有人表达无尽的感激。无论在家中还是在工作中,当我在这一年中的绝大多数时间都为此书工作的时候,你们一直在身后默默支持。
创作一本书是一个精心、漫长而艰苦的过程,如果没有Apress 出版团队的帮助和指导就不可能有这个项目,向他们致以由衷的感谢,同时也要感谢本书的审校小组,特别是Jonathan Gennick。最后,感谢我的朋友们和合作者(Syed、Kai 和Riyaj),正是令人赞叹的团队努力才让本书得以问世。
—Tariq Farooq
我将此书献给你们,本书的读者们。而我要感谢我的家庭(我的妻子Nisha 和孩子们Shibi、Irfan 和Imran)对我的支持和鼓励。我要谢谢我最小的儿子Imran,为了他对于我这个爸爸在忙碌创作此书时的理解,他甚至会天真地引用这本还未面世的书。感谢Apress 出版团队。
感谢我现在的和以前的客户(无须点名,你们知道的),让我有机会可以研究复杂的问题,并从中学到如此多的RAC 知识;感谢Oracle-L 邮件列表中的同仁们,你们提出了很多令人深思的问题;感谢OakTable 的成员们,你们在我陷入解决问题的困境时帮助我迈入更深一层;诚挚感谢ContentConcepts 朋友(http://contentconcepts.in),为我的章节做了初步编辑。
—RiyajShamsudeen
我要感谢所有为此书做出贡献的人们,特别要感谢Apress 团队的原稿编辑Jonathan Gennick,研发编辑Tom Welsh 和文字编辑BrendanFrost,你们的耐心和技巧让这些技术文章变为一本真正的书籍。当然,我还要对本书的技术审校者们表示感谢,Arup Nanda 和Sandesh Rao,他们花费了大量时间为整本书检查技术内容,而且提出了非常有价值的注解和建议,让本书的质量得到提高。
我想将此书献给我的父母,是他们鼓励我在计算机技术领域完成我的学业并努力工作。
我还要感谢我的妻子Jin 和我的女儿Jessica,在我晚上和周末都为了创作此书而扑在工作上的时候,他们给了我始终如一的支持。
我要感谢我在Dell 的经理们(David Mar、Ibrahim Fashho 和Dr. RezaRooholamini),他们长期以来给予我支持和鼓励;感谢DellOracle 解决方案工程小组的同事们,他们给予我支持并在OracleRAC、RedHat Linux、Oracle Linux 还有存储技术等方面进行了很多让我受益良多的讨论;我还要对我在Oracle 的导师、高级总监Dr.Nadia Bendjedou 表示特别的感谢,是他激励我在Oracle 社区积极工作;感谢Erik Peterson,他是Oracle 墨西哥研发中心的总经理。
最后要感谢我的合作者(Syed、Tariq 和Riyaj),这是令人赞叹的团队合作,特别要感谢Syed,他领导了整个团队并给予我们信心和鼓励。
—Kai Yu