第1部分 集群理论篇 2
第1章 RAC初体验 2
1.1 本书使用环境 3
1.1.1 硬件环境 3
1.1.2 软件环境 4
1.1.3 本书使用的环境 6
1.2 如何在PC机上搭建RAC环境 8
1.2.1 需要下载的软件 8
1.2.2 安装过程 9
1.3 任务列表 28
1.4 规划阶段 28
1.4.1 确认主机名和3个IP地址. 29
1.4.2 存储方案选型 29
1.5 实施阶段 30
1.5.1 主机配置 31
1.5.2 安装Oracle Clusterware 40
1.5.3 安装Oracle Database 51
1.5.4 配置Listener 55
1.5.5 创建ASM 59
1.5.6 创建数据库 63
1.6 客户端测试 71
1.6.1 客户端配置 71
1.6.2 体验Failover 72
1.6.3 体验Load Balance 73
1.6.4 修改归档模式 74
第2章 什么是RAC集群 76
2.1 集群分类 76
2.2 集群环境的特殊问题 76
2.2.1 并发控制 77
2.2.2 健忘症 77
2.2.3 脑裂 77
2.2.4 1O隔离 78
2.3 RAC集群 78
2.3.1 存储层 79
2.3.2 网络层 79
2.3.3 集群件层 80
2.3.4 应用层 81
2.4 小结 81
第3章 Oracle Clusterware 82
3.1 Clusterware和RAC的关系 82
3.2 Oracle Clusterware组成 83
3.2.1 磁盘文件 83
3.2.2 Clusterware后台进程 89
3.2.3 网络组件 91
3.3 Clusterware的日志体系 95
3.4 小结 95
第4章 RAC原理 96
4.1 数据库基本原理 96
4.1.1 并发访问和数据一致性 97
4.1.2 事务和隔离级别 98
4.1.3 Oracle支持的隔离级别 99
4.2 Oracle单实例的并发控制机制 100
4.2.1 Lock 100
4.2.2 数据记录的行级锁 101
4.2.3 Latch 105
4.2.4 Latch和Lock对比 106
4.2.5 进一步理解 106
4.3 RAC下的并发控制 109
4.3.1 DLM中资源和锁 110
4.3.2 Non-Cache Fusion资源. 111
4.3.3 Cache Fusion资源 112
4.3.4 GRD 114
4.3.5 PCM Lock 114
4.3.6 Cache Fusion 116
4.7 RAC并发控制总结 121
4.4.1 RAC架构 121
4.4.1 SGA的变化 122
4.4.2 后台进程的变化 122
4.4.3 文件 124
4.4.4 SCN 126
4.4.5 CacheFusion、GCS、GES 127
4.5 RAC和的交互 127
4.5.1 Cee层 128
4.5.2 RAC层 129
4.6 小结 132
第5章 存储方案—ASM初步 133
5.1 Shared-Disk和Shared-Nothing架构 133
5.2 Oracle 10g RAC的存储方案介绍 134
5.3 ASM架构 134
5.3.1 ASM实例 135
5.3.2 文件 136
5.4 配置ASM 136
5.4.1 安装位置 136
5.4.2 创建ASM磁盘 136
5.4.3 配置ASM实例 144
5.4.4 创建磁盘组 146
5.4.5 在数据库中使用ASM的磁盘组 147
5.5 ASM实例:将数据库迁移到ASM 147
5.5.1 试验说明 147
5.5.2 操作步骤 148
5.5.3 最后验证 155
5.6 小结 156
第2部分 实战篇 158
第6章 RAC维护工具集 158
6.1 Oracle Clusterware工具集 158
6.2 节点层 158
6.3 网络层 159
6.4 集群层 161
6.4.1 crsctl 162
6.4.2 OCR命令系列 167
6.5 应用层 176
6.5.1 crs_stat 176
6.5.2 onsctl 180
6.5.3 srvctl 186
6.5.4 恢复 192
6小结 196
第7章 HA和LB 197
7.1 什么是高可用性 197
7.2 Failover 198
7.2.1 Clie-Side Connect Time Faover 198
7.2.2 TAF 198
7.2.3 Clie-Side Failover和TAF的对照试验 199
7.2 Server-SideTAF 202
7.3 Oracle ClusterwareHA框架 210
7.3.1 术语介绍 210
7.3.2 配置命令 213
7.3.3 完整实例 219
7.4 LoadBalance 223
7.4.1 Connection Balancing 223
7.4.2 利用Service分散负载 227
7.5 测试LoadBalance 228
7.5.1 通过Listener日志区分路由来源 228
7.5.2 测试方法 229
7.5.3 测试过程 230
7.6小结 234
第8章 备份 235
8.1 概述 235
8.1.1 备份 235
8.1.2 恢复 236
8.1.3 RMAN工具 238
8.2 使用Flash Recovery Area 238
8.2.1 配置Flash Recovery Area 239
8.2.2 Flash Recovery Area的空间监控 239
8.3 使用RMAN 240
8.3.1 RMAN工具的使用方法 240
8.3.2 RMAN配置 242
8.4 完全备份和增量备份 248
8.4.1 完全备份 249
8.4.2 增量备份 251
8.4.3 其他RMAN命令 254
8.5 RAC的备份实例 261
8.6 小结 264
第9章 恢复 265
9.1 为什么Oracle数据库能够恢复 265
9.2 日志 267
9.2.1 日志线程(Redo Thread) 268
9.2.2 RAC的联机日志 268
9.3 恢复种类 269
9.3.1 Instance Recovery 269
9.3.2 Media Recovery 269
9.3.3 Crash Recove&ry 269
9.3.4 Online Block Recovery 274
9.4 介质恢复 274
9.4.1 完全恢复 275
9.4.2 不完全恢复 280
9.4.3 恢复到单实例 294
9.5 小结 302
第10章 其他恢复技术 303
10.1 数据块恢复 303
10.2 如何检查数据块一致性 304
10.2.1 使用初始化参数 304
10.2.2 DBV工具 305
10.2.3 Analyze命令 307
10.2.4 RMAN工具 307
10.2.5 dbms_repair包 308
10.3 模拟数据块不一致 309
10.4 数据块不一致处理办法 313
10.4.1 收集信息 313
10.4.2 设计恢复方法 314
10.4.3 恢复操作 316
10.5 数据块恢复实例 317
10.6 Flashback家族介绍 326
10.7 Flashback Datab 326
10.7.1 Flashback Database架构 326
10.7.2 启用Flashback Database 327
10.7.3 Flashback Database 329
10.7.4 命令和视图 332
10.8 Flashback Drop 333
10.8.1 Tablespace Recycle Bin 333
10.8.2 Flashback Drop操作 335
10.8.3 Recycly Bin的维护 336
10.9 Flashback Query和Flashback Table 337
10.9.1 Oracle 9i的Flashback Query 337
10.9.2 Flashback Version Query 339
10.9.3 Flashback Transaction Query 354
10.9.4 Flashback Table 356
10.9.5 UNDO Retntion 359
10.10 小结 360
第11章 RAC和Data Guard 361
11.1 Data Guard介绍 361
11.1.1 Data Guard架构 362
11.1.2 日志发送(Redo Send) 362
11.1.3 日志接收(Redo Receive). 365
11.1.4 日志应用(Redo Apply) 367
11.1.5 数据保护模式 367
11.1.6 自动裂隙检测和解决 368
11.2 RAC和Standby配置实例 369
11.2.1 RAC Prima和Single Standby 370
11.2.2 RAC Prima和RAC Standby 381
11.3 小结 394
第12章 RAC和Stream Replication 395
12.1 Stream的工作原理 395
12.2 Data Guard和Stream对比 396
12.3 RAC Stream配置实例 397
12.3.1 Single(Source)和RAC(Target) 398
12.3.2 RAC对RAC的复制 404
12.3.3 STRMMON工具 425
12.4 小结 427
第13章 深入ASM 428
13.1 非ASM的存储结构 428
13.2 ASM存储结构 429
13.3 ASM文件系统 430
13.3.1 ASM Metadata 431
13.3.2 Physical Metadata 431
13.3.3 Virtual Metadata 433
13.3.4 Disk Recovery 434
13.4 条带化(ASM Striping) 435
13.4.1 ASM文件模板(ASM File Template) 435
13.4.2 ASM别名(ASM File Alias) 436
13.5 RDBMS和ASM之间的交互 445
13.6 ASM的实例恢复 446
13.7 ASM和OS Filesystem之间交互 447
13.7.1 dbms_file_transfer包 447
13.7.2 RMAN的CONVERT方法 453
13.7.3 ASM和TTS 453
13.8 ASM的限制 456
13.9 小结 457
第14章 性能与RAC 458
14.1 RAC的若干特点 459
14.2 AWR 461
14.2.1 启用AWR 462
14.2.2 修改AWR配置 462
14.2.3 产生AWR报告 462
14.3 ASH 464
14.4 SQL调整策略 466
14.4.1 SQL语句的执行过程 466
14.4.2 SQL性能调整的基本方法 467
14.4.3 PL/SQL和SQL 471
14.5 小结 473