《大话Oracle Grid:云时代的RAC》
第一部分 安装
第1章 破冰之旅 2
1.1 原料 2
1.2 升级方式的变化 4
1.3 环境准备 4
1.3.1 主机环境 5
1.3.2 使用NTP服务 8
1.3.3 网络环境 9
1.3.4 配置存储 11
1.4 安装 13
1.4.1 安装Grid 13
1.4.2 安装Database 28
1.4.3 创建数据库 34
1.5 小结 41
第2章 安装引发的思考 42
2.1 怎么有这么多用户和用户组 42
2.1.1 老朋友 42
2.1.2 集群环境的用户组 46
2.1.3 GI owner和DB owner是否有必要分开 50
2.2 DBCA不识别集群环境的解决办法 51
2.3 为什么不配时间服务了 53
2.3.1 使用NTP服务 54
2.3.2 使用CTSS服务 54
2.3.3 CTSS和NTP的关系 55
2.4 IPMI是什么 55
2.5 ORACLE_BASE和ORACLE_HOME的区别 56
2.5.1 OFA和软件安装 56
2.5.2 ORACLE_HOME是共享还是本地 61
2.6 SCAN 61
2.7 HAIP(替代双网卡绑定) 62
2.7.1 用oficfg无法得到HAIP的信息 66
2.7.2 确认ASM使用了HAIP 66
2.7.3 确认RDBMS数据库使用HAIP 67
2.8 减少机器重启——IO Fencing功能的增强 69
2.9 Grid的卸载 69
2.9.1 关闭数据库和资源 70
2.9.2 用deinstall卸载 71
2.9.3 卸载后的检查确认 77
2.9.4 删除目录 77
2.9.5 删除ASM磁盘 77
2.10 小结 78
第3章 认识Grid 2.0 79
3.1 借我一双慧眼 80
3.1.1 CRSCTL 80
3.1.2 SRVCTL 81
3.2 Clusterware的前世今生 82
3.3 Grid中都有些什么 89
3.4 Grid,你好吗 93
3.5 小结 97
第二部分 平台
第4章 Grid的五脏六腑 99
4.1 层次变化 100
4.2 基于Agent的管理方式 102
4.3 更丰富的资源 105
4.3.1 ohasd 105
4.3.2 ohasd的oraagent 105
4.3.3 ohasd的orarootagent 106
4.3.4 ohasd的cssdagent和cssdmonitor 107
4.3.5 CSSD 107
4.3.6 CRSD 107
4.4 Grid的进程和启动顺序 108
4.5 配置文件 111
4.5.1 GPnP(Grid Plug and Play) 112
4.5.2 OLR(Oracle Local Registry) 113
4.5.3 OCR(Oracle Cluster Registry) 114
4.5.4 Voting File 116
4.5.5 OCR、ASM SPfile、Voting file、CRS和ASM的关系总结 118
4.6 小结 119
第5章 小荷露峥嵘——ASM 120
5.1 ASM架构 120
5.1.1 基础单元——Extent和AU 121
5.1.2 条带化和镜像 122
5.1.3 镜像 123
5.2 Oracle 11g的特性 127
5.2.1 全新的ASM文档 128
5.2.2 新的SYSASM角色 128
5.2.3 ASM Disk Group Attribute 128
5.2.4 兼容性参数 129
5.2.5 ASM Fast Disk Resync(Fast Mirror Resync) 131
5.2.6 ASM Preferred Mirror Read 132
5.2.7 可变extent大小 133
5.2.8 全新的asmca图形工具 134
5.2.9 ASMCMD命令的增强 134
5.2.10 支持集群文件 134
5.2.11 Fast Rebalancing 134
5.2.12 智能数据摆放(Intelligent Data Placement IDP) 135
5.3 小结 135
第6章 ADVM和ACFS 136
6.1 动态扩展 137
6.2 ADVM 138
6.3 ACFS 144
6.3.1 ACFS的用途 145
6.3.2 ACFS的通用文件系统和ACFS Mount Registry 146
6.3.3 创建ACFS 147
6.3.4 ACFS的高级特性 148
6.4 小结 149
第7章 SCAN 150
7.1 生不逢时的Grid 150
7.2 Oracle 11g才真的是Grid 151
7.2.1 认识SCAN 152
7.2.2 域名解析(DNS & GNS) 155
7.2.3 监听器的变化 158
7.2.4 SCAN的Failover和LB 163
7.3 SCAN的配置和检查 164
7.3.1 查看SCAN VIP配置 164
7.3.2 查看SCAN VIP状态 164
7.3.3 查看SCAN Listener 165
7.3.4 查看SCAN Listener的配置 165
7.3.5 查看SCAN Listener的状态 165
7.3.6 用lsnrctl查看SCAN Listener 165
7.3.7 查看本地VIP 166
7.3.8 查看本地监听器 167
7.3.9 修改SCAN Listener的端口配置 168
7.3.10 修改Local Listener的配置 169
7.4 小结 170
第8章 RAC Restart和SIHA 171
8.1 Oracle Restart 171
8.1.1 Grid安装在数据库之前 172
8.1.2 数据库创建在Grid之前 175
8.1.3 使用Oracle Restart的注意事项 179
8.2 Single Instance HA(SIHA) 181
8.2.1 资源、profile、agent、action script 181
8.2.2 使用方法 183
8.2.3 Active/Passive的Tomcat 184
第三部分 私有云
第9章 云端初现的RAC One Node 194
9.1 终身制被打破了 194
9.2 于是有了RAC One Node 197
9.3 RAC One Node的特点 198
9.4 RAC One Node实战 201
9.4.1 Oracle Database 11.2.0.1 201
9.4.2 Oracle Database 11.2.0.2 202
9.5 RAC One Node和Instance Caging 214
第10章 被忽略的Service 220
10.1 等级仍然是重要的,但也是不易察觉的 221
10.2 梦想照进0和1的世界 221
10.3 Service的使用 222
10.3.1 要有个好名字 222
10.3.2 看出身 223
10.3.3 自动注册 223
10.3.4 做好规划 224
10.3.5 西瓜要捡,芝麻也不能丢 226
10.4 服务实战 228
10.5 资源管理器 234
10.5.1 DRM 235
10.5.2 按套路出牌 235
10.5.3 辛勤的码农 237
10.5.4 聪明的懒人 239
10.5.5 不看广告看疗效 244
10.6 增强版DRM——Instance Caging 248
10.7 IO校准 248
10.8 小结 251
附:SRVCTL操作Service语法 251
第11章 Server Pool——云时代的QoS 254
11.1 当整合成为最大动力 254
11.2 有了Server Pool 256
11.3 排队队 258
11.3.1 一仆多主的Generic Pool 259
11.3.2 预备役Free Server Pool 262
11.3.3 忠心不二的Database Server Pool 263
11.3.4 Child Pool 264
11.4 分果果 264
11.5 实战Server Pool 265
11.5.1 创建 265
11.5.2 删除Server Pool 269
11.5.3 查看 270
11.6 分布规则 271
11.7 Server Pool的完整体验 274
11.7.1 重要程度相同 274
11.7.2 重要程度不同 280
11.8 小结 282
第12章 Policy-Managed Database 283
12.1 无法启动的数据库 285
12.2 Service与时俱进 288
12.3 TAF也不甘寂寞 289
12.3.1 Admin的TAF 289
12.3.2 Policy的TAF 294
12.4 从Admin到Policy 296
12.5 小结 297
第13章 开发人员须知 298
13.1 赢在沟通 298
13.1.1 渠道畅通 298
13.1.2 通信基本靠吼 299
13.1.3 FAN(Fast Application Notification) 299
13.2 铁三角(HA、LB与FAN) 300
13.3 使用FAN的方式 304
13.4 使用UCP驱动 305
13.5 小结 309
第四部分 高可用性
第14章 光芒褪尽的Data Guard 311
14.1 节省75%的活动数据库复制 311
14.1.1 活动数据库复制(Active Database Duplicate) 312
14.1.2 可能遇到的错误 322
14.1.3 活动复制的要求 328
14.1.4 创建DG 329
14.2 DG的增强 331
14.2.1 迟来的读写分离(实时查询Standby) 332
14.2.2 快照Standby 336
14.2.3 不可错过的RAT(Real Application Testing) 341
14.3 小结 361
第15章 ADR、HM和CHM 362
15.1 ADR 362
15.1.1 ADR的目录结构 363
15.1.2 问题和意外 365
15.1.3 用DB Control查看 367
15.1.4 用命令行查看(ADRCI) 368
15.2 数据库健康检查(HM) 373
15.2.1 用DB Controle 374
15.2.2 用DBMS_HM检查 377
15.3 OS实时监控(CHM) 377
15.3.1 CHM服务 378
15.3.2 CHM Repository 379
15.3.3 CHM数据收集 379
15.4 如何查看CHM数据 380
15.5 小结 383
第16章 走下神坛的GG 384
16.1 GG架构 384
16.1.1 Capture (Local Extract)Process 386
16.1.2 Source Trail 386
16.1.3 Data Pump 387
16.1.4 Collector 389
16.1.5 Remote Trail 389
16.1.6 发布(复制)(Delivery、Replicat) 389
16.1.7 管理器 390
16.1.8 组的概念 390
16.1.9 进程检查点(checkpoint) 390
16.2 环境要求 391
16.2.1 源数据库需求 391
16.2.2 目标数据库需求 394
16.3 安装GG 395
16.3.1 创建操作系统用户 395
16.3.2 正式安装 395
16.3.3 GG环境的初始化 396
16.4 认识GG的目录结构 400
16.5 GGSCI接口 401
16.6 小结 401
第17章 GG实战 402
17.1 单向复制配置概述 402
17.2 准备阶段 403
17.2.1 配置数据库用户 403
17.2.2 在GGSCI中连接数据库 404
17.2.3 配置源数据库日志模式 405
17.2.4 配置目标数据库 407
17.2.5 Checkpoint Table 407
17.3 配置阶段 409
17.3.1 配置Extract 410
17.3.2 配置Data Pump 418
17.3.3 数据的初始加载 422
17.3.4 配置Replicat 422
17.4 小结 426
第18章 GG高级用法 427
18.1 连接到ASM 428
18.1.1 Net8方式连接 428
18.1.2 BEQ方式连接 429
18.1.3 DBLOGREADER 431
18.2 RAC环境的特殊说明 431
18.2.1 节点的同步 431
18.2.2 使用服务连接RAC数据库 431
18.2.3 定义日志线程 433
18.2.4 决定连接到ASM的方式 433
18.3 数据过滤 433
18.3.1 表级别过滤 433
18.3.2 列过滤 434
18.3.3 行过滤 435
18.3.4 数据来源过滤 436
18.4 数据映射 437
18.4.1 Extract端的映射 437
18.4.2 Replicat端的映射 438
18.4.3 需要谁的数据定义文件 438
18.5 值的处理 441
18.5.1 最简单的赋值 441
18.5.2 复杂的赋值 442
18.6 Trail文件和清理 443
18.7 数据压缩 444
18.8 小结 446
附录A Grid的静默安装 447
A.1 Grid的静默安装 447
A.2 Database 463
A.3 创建数据库 474