目录 3
第Ⅰ部分 逻辑可用性 3
第1章 Oracle与可用性:各种停机场景 3
1.1 Horatio's Woodscrews 4
1.2 用户自定义可用性 6
1.3 测试与开发可用性 7
1.4 周期性的数据库资源需求 7
1.5 哪些人需要报表 8
1.6 Woodscrew表空间过大 9
1.7 硬件维修导致的停机 9
1.8 重启长时间运行的事务 10
1.9 崩溃恢复过慢 10
1.10 对已损坏块的处理(ORA 1578) 10
1.11 等待文件从磁带还原 11
1.12 RAC以及单点失效 12
1.13 数据库回滚 12
1.14 被删除的表 12
1.15 被删除记录的表 13
1.16 连接联机的、一致的数据库 14
1.17 彻底的灾难 14
1.18 后续内容 14
第2章 RDBMS关于可用性的特性 17
2.1 企业管理器 18
2.1.1 Oracle数据库控制台 18
2.1.2 数据库控制台:导航 19
2.1.3 Oracle企业管理器网格控制台 21
2.2.1 系统参数文件还是init.ora 22
2.2 数据库的动态配置 22
2.2.2 非动态参数 23
2.3 数据体系结构与可用性 27
2.3.1 表和索引的分区 27
2.3.2 索引组织表 33
2.3.3 物化视图 34
2.3.4 联机重组 36
2.4 资源管理器和调度器 38
2.4.1 有限资源的管理 38
2.4.2 资源管理器的继承者:调度器 39
2.5 LogMiner:事务析取 41
2.6 可传输表空间 43
第3章 为可用性调整数据库 47
3.2.1 什么是AWR 48
3.1 智能基础结构 48
3.2 AWR:自动工作负载仓库 48
3.2.2 查看AWR报表 49
3.2.3 工作负载仓库输出报表分析 49
3.2.4 为比较工作负载创建基线 50
3.3 ADDM 53
3.4 查看ADDM报表 53
3.4.1 ADDM与企业管理器 55
3.4.2 ADDM的驱动力量是什么 56
3.5 顾问中心 57
3.5.1 SQL调整顾问 57
3.5.2 SQL访问顾问 58
3.5.3 内存顾问与ASMM 58
3.5.4 其他顾问 60
3.6 自动存储管理(ASM) 61
3.6.1 ASM概念 62
3.6.2 ASM的实现 65
3.6.3 使用EM管理ASM环境 67
第Ⅱ部分 实时应用集群 75
第4章 RAC的安装与配置 75
4.1 集群就绪服务 76
4.1.1 CRS体系结构 76
4.1.2 虚拟IP地址 77
4.1.3 CRS安装 77
4.2 针对CRS的操作系统配置 77
4.2.1 CRS/RAC的存储需求 78
4.2.3 内核参数 79
4.2.2 CRS与RAC的网络需求 79
4.2.4 OCR与投票磁盘需求 80
4.3 准备安装CRS 80
4.3.1 网络配置 83
4.3.2 共享存储配置 86
4.4 CRS的实际安装 91
4.4.1 CRS与本地安装共存 91
4.4.2 安装CRS 91
4.4.3 安装的结果 95
4.5 RDBMS的安装 95
4.5.1 本地的ORACLE_HOME还是共享的ORACLE_HOME 95
4.5.2 产品安装 97
4.5.3 创建数据库 98
5.1 RAC的本质 103
第5章 RAC环境中的数据库管理 103
5.1.2 RAC环境中的spfile 104
5.1.1 实例命名 104
5.1.3 RAC特定参数 105
5.1.4 RAC实例中附加的后台进程 107
5.1.5 RAC环境中的缓存一致性 109
5.2 RAC环境中REDO与UNDO的管理 111
5.2.1 重做日志与实例恢复 111
5.2.2 重做日志与介质恢复 112
5.2.3 RAC中的UNDO 117
5.3 集群节点的添加与移除 118
5.3.1 添加集群节点 118
5.3.2 移除集群节点 122
5.4.2 RAC环境中的补丁 127
5.4 关于RAC的其他注意事项 127
5.4.1 管理ASM环境 127
5.4.3 企业管理器网格控制台与RAC 128
第6章 公用计算:应用即服务 133
6.1 服务的概念 133
6.1.1 服务即是工作负载 134
6.1.2 服务即是应用程序 134
6.1.3 数据库角度的服务 134
6.2 服务的创建 136
6.3 通过SRVCTL管理服务 142
6.3.1 节点应用程序 142
6.3.2 通过SRVCTL管理数据库和实例 143
6.3.3 通过SRVCTL管理服务 146
6.4 Oracle集群注册表 148
6.3.4 关于服务的附加说明 148
第Ⅲ部分 灾难规划 155
第7章 Oracle Data Guard:容灾方案 155
7.1 正确的抉择 156
7.1.1 物理备用数据库 156
7.1.2 逻辑备用数据库 156
7.2 创建物理备用数据库 157
7.3 创建逻辑备用数据库 161
7.4 日志传输服务 167
7.4.1 定义日志传输服务的目标文件 167
7.4.2 日志传输服务和安全 170
7.5 备用重做日志 170
7.6.1 最大保护 171
7.6 保护模式 171
7.6.2 最大可用性 172
7.6.3 最大性能 172
7.7 Data Guard的网络断接解决方案 173
7.8 缺失的检测和消除 174
7.9 物理备用数据库的管理 175
7.9.1 启动物理备用数据库 175
7.9.2 启动托管恢复 176
7.9.3 以只读模式使用物理备用数据库 177
7.9.4 处理主数据库上的物理变更 179
7.10 逻辑备用数据库的管理 180
7.10.1 停止和启动SQL Apply 181
7.10.2 监测SQL Apply进程 181
7.10.4 错误恢复 182
7.10.3 禁止用户修改逻辑备用数据库 182
7.10.5 修改SQL Apply引擎中的默认操作 184
7.11 其他DBMS LOGSTDBY过程 184
7.12 通过Switchover功能实现角色转换 187
7.13 通过故障切换实现角色转换 190
7.13.1 故障切换首要的步骤 190
7.13.2 在故障切换后使用闪回技术 192
7.14 Data Guard的代理和客户端 193
7.14.1 CLI接口 193
7.14.2 使用Data Guard GUI 195
第8章 高可用性环境的备份和恢复 205
8.1 介质备份的重要性 205
8.2 RMAN简介 206
8.2.2 RMAN和数据块 208
8.2.1 RMAN和控制文件 208
8.2.3 RMAN命令行用法 209
8.2.4 企业管理器中的RMAN 210
8.3 制定一个RMAN备份策略 212
8.3.1 闪回恢复区 213
8.3.2 永久配置参数 215
8.3.3 控制文件 217
8.4 可用数据库的备份 218
8.4.1 高可用性备份策略 218
8.4.2 备份闪回恢复区 222
8.4.3 备份的日常管理 222
8.5 执行恢复 225
8.5.1 数据库的恢复:重建和恢复 225
8.5.2 块介质恢复 227
8.6.2 直接备份到磁带 228
8.6 介质管理注意事项 228
8.6.1 SBT接口 228
8.7 RMAN和Data Guard 229
8.7.1 通过RMAN来创建备用数据库 230
8.7.2 通过物理备用数据库创建备份 233
8.8 RMAN和RAC 235
8.8.1 RMAN在集群中的配置 235
8.8.2 RAC中的闪回恢复区 239
8.9 Oracle和分裂镜像技术 239
8.9.1 分裂镜像的配置 240
8.9.2 RMAN从分裂镜像中备份 240
8.9.3 改用DG 242
第9章 Oracle闪回技术:处理用户错误 243
9.1 为不可避免的问题做准备:闪回技术 243
9.2.1 闪回和撤销段 244
9.2 闪回查询 244
9.2.2 执行闪回查询 245
9.2.3 使用企业管理器实现的闪回版本查询 245
9.2.4 闪回事务查询 250
9.3 闪回表 251
9.3.1 在SQL下执行闪回表 252
9.3.2 使用企业管理器实现的闪回表 252
9.4 闪回删除 254
9.5 闪回数据库 257
9.5.1 闪回日志 258
9.5.2 闪回保持目标 258
9.5.3 调整闪回数据库 259
9.5.4 用于其他方面的闪回数据库 261
第10章 用于提供高可用性的Oracle流 265
第Ⅳ部分 分布式数据库解决方案 265
10.1 流概述 266
10.1.1 流的捕获进程 267
10.1.2 流的传播进程 267
10.1.3 流的应用进程 267
10.1.4 规则 268
10.2 用于高可用性的流 268
10.3 设置流复制 269
10.3.1 规划流复制 269
10.3.2 配置流复制 270
10.3.3 解决冲突 275
10.3.4 LCR的下游捕获 287
10.5 小结 289
10.4 流过程的管理 289
第11章 Oracle故障切换的网络配置 291
11.1 定义 291
11.1.1 连接时故障切换 292
11.1.2 透明应用程序故障切换 292
11.1.3 客户端负载平衡 293
11.1.4 服务器端负载平衡 293
11.2 网络配置 295
11.2.1 使用GUI工具产生配置文件 295
11.2.2 简易连接 295
11.2.3 和TAF匹配的环境 296
11.2.4 侦听器配置 297
11.2.5 使用虚拟IP地址的原因 298
参考书目 301