第1部分 集群理论篇
第1章 RAC初体验 2
1.1 本书使用环境 3
1.1.1 硬件环境 3
1.1.2 软件环境 4
1.1.3 本书使用的环境 6
1.2 如何在PC机上搭建RAC环境 7
1.2.1 需要下载的软件 7
1.2.2 安装过程 8
1.3 任务列表 16
1.4 规划阶段 17
1.4.1 确认主机名和3个IP地址 17
1.4.2 存储方案选型 17
1.5 实施阶段 19
1.5.1 主机配置 19
1.5.2 安装Oracle Clusterware 27
1.5.3 安装Oracle Database 33
1.5.4 配置Listener 35
1.5.5 创建ASM 38
1.5.6 创建数据库 40
1.6 客户端测试 43
1.6.1 客户端配置 43
1.6.2 体验Failover 44
1.6.3 体验LoadBalance 45
1.6.4 修改归档模式 46
第2章 集群、RAC和MAA 48
2.1 什么是集群 48
2.1.1 系统可靠性 49
2.1.2 系统性能 49
2.1.3 集群的技术基础 50
2.2 集群术语 51
2.2.1 两大关键特性:可扩展性和高可用性 51
2.2.2 两大核心能力:负载均衡和故障转移 52
2.2.3 集群组成元素 52
2.2.4 集群分类 52
2.3 Oracle的高可用架构(MAA) 53
2.3.1 MAA实例 54
2.3.2 双机热备——一个被遗漏的技术 55
2.4 RAC集群 56
2.4.1 存储层 57
2.4.2 网络层 57
2.4.3 集群件层 58
2.4.4 应用层 58
2.5 RAC集群环境的特殊问题 59
2.5.1 并发控制 59
2.5.2 健忘症(Amnesia) 59
2.5.3 脑裂(Split Brain) 59
2.5.4 IO隔离(IO Fencing) 60
2.6 RAC的前世今生 61
2.6.1 Oracle Database的历史 61
2.6.2 Oracle RAC的历史 62
2.6.3 OPS和RAC的区别 64
2.7 RAC的好处 65
2.7.1 增加可用性 66
2.7.2 扩展性 67
2.7.3 更容易管理 67
2.7.4 其他选择 68
2.8 小结 68
第3章 Oracle Clusterware 69
3.1 Clusterware和RAC的关系 69
3.2 Oracle Clusterware组成 70
3.2.1 磁盘文件 70
3.2.2 Clusterware后台进程 76
3.2.3 网络组件 83
3.3 Clusterware的日志体系 87
3.4 Clusterware和厂商集群的关系 88
3.5 小结 89
第4章 RAC原理 90
4.1 数据库基本原理 90
4.1.1 并发访问和数据一致性 91
4.1.2 事务和隔离级别 92
4.1.3 Oracle支持的隔离级别 93
4.2 Oracle单实例的并发控制机制 94
4.2.1 Lock 94
4.2.2 数据记录的行级锁 95
4.2.3 Latch 99
4.2.4 Latch和Lock对比 99
4.2.5 进一步理解 100
4.3 RAC下的并发控制 102
4.3.1 DLM中资源和锁 103
4.3.2 Non-Cache Fusion资源 104
4.3.3 Cache Fusion资源 105
4.3.4 GRD(Global Resource Directory) 106
4.3.5 PCM Lock 107
4.3.6 Cache Fusion 108
4.3.7 RAC并发控制总结 113
4.4 RAC架构 113
4.4.1 SGA的变化 114
4.4.2 后台进程的变化 114
4.4.3 文件 116
4.4.4 SCN 117
4.4.5 Cache Fusion、GCS、GES 118
4.5 RAC和Clusterware的交互 119
4.5.1 Clusterware层 119
4.5.2 RAC层 120
4.6 小结 123
第5章 存储方案——ASM初步 124
5.1 Shared-Disk和Shared-Nothing架构 124
5.2 Oracle 10g RAC的存储方案介绍 125
5.3 ASM架构 125
5.3.1 ASM实例 126
5.3.2 文件 127
5.4 配置ASM 127
5.4.1 安装位置 127
5.4.2 创建ASM磁盘 127
5.4.3 配置ASM实例 137
5.4.4 创建磁盘组 140
5.4.5 在数据库中使用ASM的磁盘组 140
5.4.6 如何从远程访问ASM实例 141
5.5 ASM实例:将数据库迁移到ASM 141
5.5.1 试验说明 141
5.5.2 操作步骤 141
5.5.3 最后验证 148
5.6 小结 148
第2部分 实战篇
第6章 RAC维护工具集 150
6.1 Oracle Clusterware工具集 150
6.2 节点层 150
6.3 网络层 151
6.3.1 公有网络 151
6.3.2 私有网络 151
6.3.3 私有网络的参数调整 154
6.3.4 oficfg命令 155
6.3.5 工程中解决不能识别心跳网络的故障 157
6.4 集群层 159
6.4.1 crsctl 159
6.4.2 OCR命令系列 164
6.4.3 一个Bug引起的系统重启 171
6.5 应用层 185
6.5.1 crs_stat 185
6.5.2 onsctl 188
6.5.3 srvctl 193
6.5.4 恢复 199
6.6 小结 202
第7章 HA和LB 203
7.1 什么是高可用性 203
7.2 Failover 204
7.2.1 Client-Side Connect Time Failover 204
7.2.2 TAF(Transparent Application Failover) 204
7.2.3 Client-Side Failover和TAF的对照试验 205
7.2.4 Server-Side TAF 208
7.2.5 深入TAF细节 214
7.3 Oracle Clusterware HA框架 221
7.3.1 术语介绍 221
7.3.2 配置命令 223
7.3.3 完整实例 228
7.4 LoadBalance 232
7.4.1 Connection Balancing 232
7.4.2 利用Service分散负载 235
7.5 测试LoadBalance 236
7.5.1 通过Listener日志区分路由来源 236
7.5.2 测试方法 237
7.5.3 测试过程 238
7.6 小结 242
第8章 备份 243
8.1 概述 243
8.1.1 归档模式和非归档模式 243
8.1.2 备份分类 245
8.1.3 User-Managed Backup 246
8.2 使用Flash Recovery Area 248
8.2.1 配置Flash Recovery Area 249
8.2.2 Flash Recovery Area的空间监控 249
8.3 RMAN架构 250
8.3.1 Target Database 250
8.3.2 Catalog Database 251
8.3.3 通道(Channel) 251
8.3.4 闪回恢复区(Flash Recovery Area) 251
8.3.5 备份集(Backup Set)和拷贝(Copy) 251
8.3.6 介质管理器 252
8.3.7 连接到数据库 252
8.4 使用RMAN 253
8.4.1 RMAN工具的使用方法 253
8.4.2 RMAN配置 255
8.5 完全备份和增量备份 264
8.5.1 完全备份 264
8.5.2 增量备份 267
8.5.3 其他RMAN命令 269
8.6 RAC的备份实例 275
8.7 小结 278
第9章 恢复 280
9.1 Oracle事务基本原理 280
9.1.1 SCN 282
9.1.2 检查点 284
9.2 日志 286
9.2.1 日志内容 286
9.2.2 日志线程(Redo Thread) 288
9.2.3 日志写 288
9.3 恢复种类 289
9.3.1 Instance Recovery 291
9.3.2 Crash Recovery 291
9.3.3 Media Recovery 295
9.3.4 Online Block Recovery 295
9.4 介质恢复 296
9.4.1 完全恢复 296
9.4.2 不完全恢复 300
9.4.3 恢复到单实例 312
9.5 其他一些有用的恢复演示 319
9.5.1 从自动备份的中恢复spfile 319
9.5.2 控制文件的恢复 320
9.6 利用恢复的控制文件进行数据库恢复 321
9.6.1 使用alter database open resetlogs的场合 321
9.6.2 重建控制文件 321
9.6.3 使用using backup controlfile的场合 322
9.6.4 例子1:使用备份的控制文件做恢复 322
9.6.5 例子2:用noresetlogs方法重建控制文件 326
9.6.6 例子3:用resetlogs方法重建控制文件 329
9.7 DBID的重要性和获得DBID的方法 330
9.7.1 通过数据文件、日志文件(联机或者归档) 330
9.7.2 根据自动备份的控制文件得到 331
9.8 小结 331
第10章 其他恢复技术 332
10.1 数据块恢复 332
10.2 如何检查数据块一致性 333
10.2.1 使用初始化参数 333
10.2.2 DBV工具 334
10.2.3 Analyze命令 336
10.2.4 RMAN工具 336
10.2.5 dbms_repair包 337
10.3 模拟数据块不一致 337
10.4 数据块不一致处理办法 341
10.4.1 收集信息 342
10.4.2 设计恢复方法 343
10.4.3 恢复操作 344
10.5 数据块恢复实例 346
10.6 Flashback家族介绍 353
10.7 Flashback Database 354
10.7.1 Flashback Database架构 354
10.7.2 启用Flashback Database 354
10.7.3 Flashback Database 356
10.7.4 命令和视图 359
10.8 Flashback Drop 360
10.8.1 Tablespace Recycle Bin 360
10.8.2 Flashback Drop操作 361
10.8.3 Recycly Bin的维护 363
10.9 Flashback Query和Flashback Table 364
10.9.1 Oracle 9i的Flashback Query 364
10.9.2 Flashback Version Query 365
10.9.3 Flashback Transaction Query 379
10.9.4 Flashback Table 381
10.9.5 UNDO Retntion 384
10.10 回滚段损坏后的修复 385
10.10.1 AUM(Automatic Undo Management) 385
10.10.2 如何处理回滚段损坏 397
10.11 小结 410
第11章 RAC和Data Guard 411
11.1 Data Guard介绍 411
11.1.1 Data Guard架构 412
11.1.2 日志发送(Redo Send) 412
11.1.3 日志接收(Redo Receive) 414
11.1.4 日志应用(Redo Apply) 415
11.1.5 Data Guard环境中的重要进程 415
11.1.6 Standby Log File(SRL) 416
11.1.7 数据保护模式 417
11.1.8 自动裂隙检测和解决 419
11.1.9 实时恢复(Real-Time Apply,RTA) 420
11.1.10 RTA引发的思考——关于同步的速度 421
11.1.11 如何监控恢复的性能 421
11.2 RAC和Standby配置实例 422
11.2.1 RAC Primary和Single Standby 423
11.2.2 RAC Primary和RAC Standby 433
11.3 角色转换 444
11.3.1 Switchover 445
11.3.2 Failover 448
11.3.3 Failover步骤 452
11.3.4 Failover的例子 454
11.3.5 Failover之收尾 460
11.4 Standby环境下维护联机日志 464
11.4.1 手工添加日志文件 464
11.4.2 手工删除日志文件 465
11.4.3 通过控制文件重新同步 465
11.5 小结 466
第12章 RAC和Stream Replication 467
12.1 Stream的工作原理 467
12.2 Data Guard和Stream对比 468
12.3 RAC Stream配置实例 469
12.3.1 Single(Source)和RAC(Target) 470
12.3.2 RAC对RAC的复制 474
12.3.3 STRMMON工具 492
12.4 小结 494
第13章 深入ASM 495
13.1 非ASM的存储结构 495
13.2 ASM存储结构 496
13.3 ASM文件系统 497
13.3.1 ASM Metadata 497
13.3.2 Physical Metadata 498
13.3.3 Virtual Metadata 499
13.3.4 Disk Recovery 501
13.3.5 条带化(ASM Striping) 501
13.4 ASM中的文件布局规律 502
13.4.1 OMF 502
13.4.2 OFA 505
13.4.3 FRA(Flash Recovery Area)和OMF 506
13.4.4 ASM文件模板(ASM File Template) 507
13.4.5 ASM别名(ASM File Alias) 507
13.5 RDBMS和ASM之间的交互 522
13.6 ASM的实例恢复 524
13.7 ASM和OS Filesystem之间交互 524
13.7.1 dbms_file_transfer包 525
13.7.2 RMAN的CONVERT方法 530
13.7.3 ASM和TTS 530
13.8 ASM的限制 533
13.9 小结 533
第14章 性能与RAC 534
14.1 RAC性能的若干特点 535
14.1.1 RAC环境的一些特殊注意点 537
14.1.2 RAC特有的性能指标 538
14.1.3 对于延迟时间的深入分析 542
14.1.4 RAC特有的等待事件 545
14.2 AWR 545
14.2.1 启用AWR 546
14.2.2 修改AWR配置 546
14.2.3 产生AWR报告 546
14.3 ASH 547
14.4 GC的调整策略 550
14.5 SQL调整策略 551
14.5.1 SQL语句的执行过程 552
14.5.2 SQL性能调整的基本方法 552
14.5.3 PL/SQL和SQL 555
14.6 小结 557
· · · · · · (
收起)