第1章 认识Oracle RAC 1
1.1 RAC产生的背景 1
1.2 RAC体系结构 2
1.2.1 整体结构 2
1.2.2 物理层次结构 4
1.2.3 逻辑层次结构 6
1.3 RAC的特点 6
1.3.1 双机并行 6
1.3.2 高可用性 7
1.3.3 易伸缩性 8
1.3.4 低成本 8
1.3.5 高吞吐量 8
1.4 RAC存在的问题 9
1.4.1 稳定性 9
1.4.2 高性能 9
1.5 RAC软件 9
1.5.1 存储管理软件 10
1.5.2 集群管理软件 10
1.5.3 数据库管理软件 11
1.6 本章小结 12
第2章 搭建类似生产环境的RAC 13
2.1 搭建环境 13
2.1.1 RAC的物理结构 14
2.1.2 硬件环境 16
2.1.3 软件环境 16
2.2 搭建存储服务器 17
2.2.1 安装Openfiler操作系统 17
2.2.2 Openfiler主界面 19
2.2.3 配置iSCSI磁盘 20
2.3 搭建数据库服务器 26
2.3.1 为服务器配置4个网卡 26
2.3.2 安装Linux操作系统 27
2.3.3 挂载iSCSI磁盘 30
2.3.4 配置udev固定iSCSI磁盘设备名称 33
2.3.5 配置服务器的图形化环境 35
2.4 RAC运行环境安装前检查 36
2.4.1 服务器检查 37
2.4.2 存储检查 37
2.4.3 网络检查 38
2.5 配置数据库服务器 38
2.5.1 安装软件包 38
2.5.2 修改系统参数 40
2.5.3 配置域名解析服务 41
2.5.4 配置hosts文件 46
2.5.5 创建组、用户和目录 47
2.5.6 设置环境变量 47
2.5.7 配置SSH用户等效性 49
2.5.8 配置时间同步服务 51
2.5.9 安装cvuqdisk包 52
2.5.10 CVU验证安装环境 53
2.6 创建ASM磁盘 53
2.6.1 安装ASMLib驱动 53
2.6.2 创建ASMLib磁盘 55
2.7 部署RAC 59
2.7.1 安装Grid Infrastructure 59
2.7.2 安装Database DBMS 65
2.7.3 创建ASM磁盘组 66
2.7.4 创建RAC数据库 68
2.8 测试RAC 72
2.8.1 连接方式测试 73
2.8.2 异常情况测试 73
2.9 虚拟机搭建RAC 74
2.9.1 虚拟机Xen简介 74
2.9.2 启动主机Xen内核 75
2.9.3 Xen虚拟机创建网络环境 78
2.9.4 创建Xen存储服务器 79
2.9.5 创建Xen数据库服务器 82
2.10 本章小结 86
第3章 Clusterware集群软件 87
3.1 Grid Infrastructure架构 87
3.1.1 GI的特点 88
3.1.2 GI的应用 88
3.1.3 Clusterware的特点 89
3.1.4 Clusterware增强的特性 90
3.2 Clusterware磁盘文件 93
3.2.1 表决磁盘 94
3.2.2 集群注册表 95
3.2.3 本地注册表 95
3.3 Clusterware启动流程 95
3.3.1 启动流程 96
3.3.2 后台进程 97
3.4 Clusterware隔离机制 100
3.4.1 Clusterware心跳 100
3.4.2 Clusterware隔离特性IPMI 102
3.4.3 RAC隔离体系 103
3.5 网格即插即用 105
3.5.1 GPnP结构 105
3.5.2 GPnP profile文件 106
3.5.3 mDNS服务 107
3.6 日志体系 107
3.6.1 ADR的特点 108
3.6.2 ADR目录结构 108
3.6.3 命令行工具ADRCI 110
3.6.4 Clusterware日志文件 113
3.6.5 ASM实例和监听日志文件 114
3.6.6 Database日志文件 116
3.7 本章小结 117
第4章 ASM存储软件 119
4.1 ASM简介 119
4.1.1 ASM的特点 120
4.1.2 ASM实例的功能 121
4.2 ASM磁盘组 122
4.2.1 ASM磁盘 122
4.2.2 共享ASM磁盘组 123
4.2.3 ASM逻辑结构 123
4.2.4 ASM故障组 125
4.2.5 ASM条带化 128
4.3 ASM文件 130
4.3.1 ASM文件类型 130
4.3.2 ASM别名 130
4.3.3 ASM文件模板 130
4.4 ASM数据结构 131
4.4.1 物理元数据 131
4.4.2 虚拟元数据 133
4.5 ASM操作 136
4.5.1 RDBMS操作ASM文件 136
4.5.2 ASM文件的分配 138
4.5.3 ASM区间读写特性 139
4.5.4 ASM同步技术 140
4.5.5 ASM实例恢复和Crash恢复 143
4.5.6 ASM磁盘组操作 143
4.6 ACFS集群文件系统 145
4.6.1 ACFS概述 146
4.6.2 ADVM动态卷管理 147
4.6.3 ACFS快照 147
4.6.4 ACFS的备份和恢复 147
4.6.5 ACFS同ASM整合 148
4.7 本章小结 148
第5章 RAC工作原理 149
5.1 单实例并发与一致性 149
5.1.1 数据读一致性与写一致性 150
5.1.2 多版本数据块 150
5.1.3 ANSI/ISO事务隔离级别 152
5.1.4 Oracle事务隔离级别 152
5.1.5 锁管理器 153
5.2 RAC资源的协调和管理 158
5.2.1 Cache Fusion的结构 158
5.2.2 Cache Fusion工作原理 159
5.2.3 GES全局控制 160
5.3 RAC并发与一致性 162
5.3.1 DLM锁管理器 162
5.3.2 多版本数据块 163
5.3.3 Cache Fusion资源 164
5.3.4 RAC中的SCN 170
5.4 本章小结 170
第6章 RAC的高可用性连接 171
6.1 Oracle Net Service 171
6.1.1 Oracle Net结构 172
6.1.2 Oracle Net命名方法 174
6.1.3 Oracle Net工作原理 177
6.1.4 Oracle Net Listener工作原理 178
6.1.5 JDBC工作原理 179
6.2 Oracle高可用性连接组件 181
6.2.1 SCAN别名 181
6.2.2 SCAN监听器 182
6.2.3 SCAN解析 183
6.2.4 SCAN兼容性配置 185
6.2.5 动态注册与负载均衡 187
6.2.6 SCAN配置信息 190
6.2.7 SCAN VIP与节点VIP 194
6.2.8 CLUSTER_INTERCONNECTS参数 195
6.2.9 HAIP高可用性内联接 195
6.3 Service资源 207
6.3.1 Service资源的特点 207
6.3.2 使用SRVCTL工具添加Service资源 209
6.3.3 使用DBMS_SERVICE管理Service资源 210
6.3.4 使用EM管理Service资源 212
6.3.5 Service数据字典 213
6.3.6 Service功能测试 214
6.4 Failover特性 214
6.4.1 连接时Failover 215
6.4.2 TAF机制 215
6.4.3 Failover功能测试 220
6.5 本章小结 223
第7章 高可用数据库类型 224
7.1 Restart数据库 224
7.1.1 安装Restart数据库 225
7.1.2 Grid Infrastructure重新配置 228
7.1.3 Restart数据库的管理 228
7.2 RAC One Node数据库 229
7.2.1 安装RAC One Node数据库 229
7.2.2 RAC One Node的Failover特性 232
7.2.3 RAC One Node数据库在线迁移 232
7.3 RAC One Node和RAC相互转换 234
7.3.1 从RAC转换为RAC One Node 234
7.3.2 从RAC One Node转换成RAC 236
7.4 本章小结 238
第8章 RAC节点管理与升级 239
8.1 添加节点 239
8.1.1 服务器配置 239
8.1.2 添加节点 240
8.1.3 克隆节点 241
8.2 删除节点 244
8.2.1 删除节点实例 244
8.2.2 卸载节点Database软件 244
8.2.3 卸载节点Clusterware软件 245
8.3 卸载工具 246
8.3.1 deinstall工具 246
8.3.2 clusterdeconfig工具 247
8.4 RAC升级 248
8.4.1 升级Grid Infrastructure软件 248
8.4.2 升级Database软件 254
8.4.3 升级Database数据字典 255
8.5 本章小结 257
第9章 ASM管理 258
9.1 ASM磁盘、实例与权限 258
9.1.1 ASM磁盘支持的存储介质 258
9.1.2 ASM初始化参数 259
9.1.3 管理ASM实例 263
9.1.4 ASM实例访问认证 266
9.2 管理ASM磁盘组 268
9.2.1 ASM磁盘组使用的原则 268
9.2.2 磁盘Discovery机制 269
9.2.3 加载、卸载磁盘组 271
9.2.4 磁盘组属性 273
9.2.5 创建磁盘组 273
9.2.6 磁盘组容量管理 281
9.2.7 修改磁盘组 282
9.2.8 DROP磁盘组 293
9.2.9 重命名磁盘组 293
9.3 管理ASM磁盘组特性 297
9.3.1 ASM快速镜像重新同步 297
9.3.2 磁盘组兼容性属性 299
9.4 ASMCMD工具 302
9.4.1 ASMCMD运行环境 303
9.4.2 ASMCMD命令 306
9.4.3 ASMCMD管理实例 307
9.4.4 ASMCMD管理文件 309
9.5 创建与管理ACFS 311
9.5.1 ACFS驱动资源管理 311
9.5.2 ACFS注册表资源管理 312
9.5.3 ASMCA图形化工具创建ACFS 313
9.5.4 ASMCMD管理卷 316
9.5.5 手动创建ACFS 318
9.6 ASM管理工具 320
9.6.1 SRVCTL工具 320
9.6.2 ASMCA工具 321
9.6.3 EM工具 321
9.7 本章小结 323
第10章 RAC管理 324
10.1 Clusterware磁盘文件管理 324
10.1.1 管理表决磁盘文件 325
10.1.2 管理OCR文件 329
10.1.3 表决磁盘和OCR的恢复案例 337
10.1.4 管理OLR文件 342
10.1.5 重建表决磁盘和OCR文件 343
10.1.6 重新配置Grid Infrastructure 346
10.2 Grid Infrastructure常用的管理工具 348
10.2.1 OLSNODES工具 348
10.2.2 CRSCTL工具 349
10.2.3 SRVCTL工具 352
10.2.4 OIFCFG接口配置工具 353
10.3 验证工具CVU 354
10.3.1 基于阶段的验证 354
10.3.2 Grid Infrastructure安装阶段验证 355
10.3.3 基于组件的验证 355
10.3.4 共享存储组件验证 356
10.3.5 遇到问题时的验证 357
10.4 Grid Infrastructure故障检测 357
10.4.1 ohasd.bin不能启动成功 357
10.4.2 OHASD代理不能启动 360
10.4.3 ocssd.bin不能启动 361
10.4.4 crsd.bin不能启动 362
10.4.5 gpnpd.bin不能启动 365
10.4.6 其他守护进程不能启动 365
10.4.7 CRSD代理不能启动 366
10.5 修改RAC节点网络配置 368
10.5.1 修改VIP地址 369
10.5.2 修改SCAN VIP地址 370
10.5.3 修改私有IP地址 372
10.5.4 修改内联网络接口 373
10.5.5 修改公共IP地址 374
10.5.6 修改机器名 380
10.6 EM工具的创建和管理 380
10.6.1 使用DBCA配置EM工具 381
10.6.2 使用EMCA创建EM工具 383
10.6.3 EM工具的日常管理 385
10.7 CHM集群健康监控 388
10.7.1 CHM工具介绍 388
10.7.2 CHM支持的平台及版本 388
10.7.3 CHM的进程和组件 389
10.7.4 CHM的基本特性 390
10.7.5 CHM的管理与维护 390
10.7.6 CHM与OS Watcher对比 393
10.8 本章小结 394
第11章 最高可用性 395
11.1 最高可用性架构 395
11.1.1 Data Guard优势 396
11.1.2 客户端Failover 397
11.1.3 Data Guard配置 398
11.1.4 Standby数据库 399
11.1.5 Data Guard保护模式 400
11.2 Data Guard服务 401
11.2.1 日志传输服务 401
11.2.2 日志应用服务 404
11.2.3 数据库角色转变 407
11.3 物理Standby数据库 408
11.3.1 创建物理Standby数据库 408
11.3.2 监控日志传输服务 420
11.3.3 监控日志应用服务 425
11.3.4 管理日志应用服务 427
11.3.5 修改Data Guard保护模式 427
11.4 逻辑Standby数据库 429
11.4.1 创建逻辑Standby数据库的前提条件 429
11.4.2 补充日志及日志记录规则 430
11.4.3 验证主数据库唯一标识 431
11.4.4 创建逻辑Standby数据库 431
11.4.5 管理日志应用服务 433
11.5 快照Standby数据库 434
11.5.1 快照Standby数据库的特点 434
11.5.2 将物理Standby数据库转换为快照Standby数据库 434
11.5.3 将快照Standby数据库转换为物理Standby数据库 434
11.6 主备数据库切换 435
11.6.1 Switchover切换 435
11.6.2 Failover切换 437
11.7 本章小结 439
第12章 RAC备份 440
12.1 备份与恢复基础 440
12.1.1 备份和恢复解决方案 441
12.1.2 数据库备份的分类 442
12.1.3 错误类型 444
12.2 物理备份工具RMAN 444
12.2.1 RMAN工作环境 444
12.2.2 RMAN支持备份的文件 445
12.2.3 闪回恢复区 446
12.2.4 RMAN环境变量 448
12.2.5 RMAN的登录方式 448
12.2.6 RMAN执行命令的模式 450
12.2.7 修改数据库归档模式 451
12.3 RMAN工作原理 452
12.3.1 RMAN与控制文件 453
12.3.2 RMAN与数据块 454
12.3.3 RMAN恢复需要的文件 454
12.3.4 RMAN通道 455
12.4 RMAN备份介质 456
12.4.1 备份集与备份片 456
12.4.2 镜像拷贝 460
12.5 RMAN备份方式 460
12.5.1 完全备份 460
12.5.2 增量备份 461
12.5.3 合并备份 462
12.6 RMAN备份命令 463
12.6.1 永久参数配置 463
12.6.2 RMAN中常用命令 468
12.6.3 多通道配置 472
12.6.4 归档Redo日志删除策略 476
12.6.5 二进制压缩 479
12.7 其他备份恢复技术 480
12.7.1 用户管理备份 481
12.7.2 导入/导出工具数据泵 483
12.7.3 跨平台数据迁移 483
12.7.4 可传输表空间 484
12.7.5 使用RMAN工具复制数据库 487
12.8 本章小结 492
第13章 RAC恢复 493
13.1 恢复技术基础 493
13.1.1 恢复解决方案 494
13.1.2 SCN时间机制 494
13.1.3 日志线程与联机Redo日志 497
13.1.4 UNDO表空间 498
13.2 实例恢复 501
13.2.1 RAC的实例恢复 502
13.2.2 实例恢复的阶段 502
13.3 介质恢复 503
13.3.1 介质恢复的过程 503
13.3.2 物理坏块和逻辑坏块 505
13.3.3 坏块的检测工具 508
13.3.4 块的损坏与恢复 512
13.3.5 数据库完全恢复 521
13.3.6 数据库不完全恢复 523
13.3.7 表空间时间点恢复 525
13.4 闪回恢复技术 532
13.4.1 闪回配置 532
13.4.2 闪回数据库 533
13.4.3 闪回表 536
13.4.4 快速闪回细粒度数据 537
13.4.5 闪回事务 539
13.4.6 闪回DROP的表 545
13.5 数据库特殊情况的恢复 549
13.5.1 联机Redo日志损坏与恢复 549
13.5.2 数据文件脱机与恢复 551
13.5.3 表空间脱机与恢复 551
13.6 本章小结 552
第14章 RAC安全性 553
14.1 数据访问安全性 553
14.1.1 Oracle安全性解决方案 554
14.1.2 VPD和OLS策略 555
14.2 Database Vault部署 555
14.2.1 Database Vault软件安装 555
14.2.2 Database Vault组件添加 556
14.2.3 Database Vault注册 558
14.2.4 Database Vault禁用和启用 562
14.2.5 Database Vault的配置和管理 563
14.3 Database Vault访问控制组件 564
14.3.1 领域 566
14.3.2 规则集 569
14.3.3 命令规则 572
14.3.4 因子 576
14.3.5 安全应用程序角色 582
14.3.6 多规则认证例子 585
14.4 本章小结 587
第15章 RAC稳定性与性能优化 588
15.1 服务器硬件 588
15.1.1 Firmware固件升级 589
15.1.2 硬件设备兼容性 589
15.1.3 FC HBA卡冗余 592
15.1.4 Infiniband技术 592
15.1.5 RAC硬件结构案例 593
15.2 操作系统 595
15.2.1 认证操作系统 595
15.2.2 多路径软件 596
15.2.3 双网卡绑定 598
15.2.4 合理分配SGA大小 600
15.2.5 提高内存的访问效率 602
15.3 RAC Database 607
15.3.1 Oracle版本 607
15.3.2 数据表空间的调整 607
15.3.3 DML语句性能调整 607
15.3.4 临时表空间的调整 609
15.3.5 日志文件的调整 609
15.3.6 UNDO表空间的调整 609
15.4 应用系统 609
15.4.1 应用拆分 610
15.4.2 SQL执行过程 610
15.4.3 SQL解析 611
15.4.4 SQL优化 614
15.4.5 SQL行源生成 615
15.4.6 SQL执行 616
15.5 本章小结 617