第1章 Data Guard技术概要 1
1.1 什么是Data Guard 1
1.2 Data Guard的主要功能 1
1.3 Data Guard进程结构与环境 2
1.4 数据变更与备用方式 3
1.4.1 物理备用数据库 3
1.4.2 逻辑备用数据库 4
1.4.3 两种备用方式的比较 5
1.5 Active Data Guard功能 6
1.6 角色转换与故障切换 7
1.7 Data Guard的其他特性 8
1.8 Data Guard的技术优势 9
1.9 和远程镜像方案的比较 10
第2章 基于事务日志的数据恢复技术 12
2.1 事务处理与联机日志 12
2.2 归档日志与运行模式 13
2.3 事务日志用于数据恢复的核心机制 14
2.4 Oracle数据库介质恢复框架 15
2.5 完全数据恢复的黄金法则 17
第3章 重做数据与日志挖掘 19
3.1 Oracle日志挖掘介绍 19
3.1.1 LogMiner的配置框架 19
3.1.2 LogMiner的用户接口 20
3.1.3 补充日志Supplemental Logging 21
3.2 确定LogMiner字典 23
3.3 建立日志文件列表 24
3.4 启动LogMiner日志挖掘 26
3.5 查看日志挖掘的结果 27
3.6 控制事务输出 29
3.7 LogMiner会话及其步骤 31
3.8 日志挖据典型案例 34
案例1 挖掘已提交的事务 34
案例2 限定重做数据的范围 34
案例3 跟踪特定用户的数据处理 37
案例4 统计特定表上的用户访问 37
3.9 日志挖掘不支持的数据类型 38
第4章 Data Guard中的进程架构 39
4.1 DG环境的进程架构概述 39
4.2 备用数据库的实现框架 40
4.3 日志传输服务 42
4.3.1 异步日志传输(ASYNC) 42
4.3.2 同步日志传输(SYNC) 42
4.3.3 日志间隔(Gap)的自动处理 43
4.4 事务日志的应用服务 44
4.4.1 Redo应用 44
4.4.2 SQL应用 44
第5章 构建物理备用数据库 47
5.1 主数据库的准备 47
5.1.1 检查并设置数据库 47
5.1.2 设置必要的主数据库参数 49
5.2 备用数据库控制文件 51
5.3 构造备用数据库运行环境 54
5.4 启动日志传输和应用服务 58
5.4.1 主数据库端启动日志传输 58
5.4.2 备用端启动Redo应用 58
5.4.3 数据更新测试 60
5.5 DG后续配置的考虑 62
第6章 构建逻辑备用数据库 63
6.1 对主数据库的检查 63
6.1.1 检查不支持的模式 63
6.1.2 检查不支持的用户表 64
6.1.3 检查存在唯一性问题的表 66
6.2 准备物理备用数据库 68
6.2.1 主备用数据库参数的准备 69
6.2.2 物理存储的准备 70
6.2.3 备用实例的启动与还原 73
6.2.4 同步物理备用数据库 79
6.3 激活逻辑备用数据库 79
6.3.1 构建LogMiner字典 80
6.3.2 Standby类型的转换 80
6.3.3 重置新的Incarnation 82
6.3.4 启动SQL Apply 84
第7章 日志传输与应用服务 88
7.1 配置日志传输服务 88
7.2 重做数据的接收 89
7.3 备用端的日志应用 92
7.4 日志间隔的手工处理 94
7.5 数据保护模式 96
7.5.1 最大保护模式(Maximum Protection) 96
7.5.2 最高可用性保护(Maximum Availability) 96
7.5.3 最高性能保护(Maximum Performance) 97
7.5.4 保护模式的实施与转换 97
7.6 监控物理备用数据库 101
7.6.1 进程名称及其状态 101
7.6.2 物理备用端的应用进展 102
7.6.3 重要的相关视图 103
7.7 重新创建物理备用控制文件 103
第8章 逻辑备用数据库的管理 105
8.1 逻辑备用的状态 105
8.2 SQL Apply的内部设置 106
8.2.1 挖掘服务的调整 108
8.2.2 应用服务的调整 110
8.2.3 LCR缓存的调整 110
8.3 控制逻辑备用维护的数据集 111
8.3.1 设置备用数据库的防护 111
8.3.2 逻辑备用不支持的数据集 112
8.3.3 自定义逻辑备用维护的数据集 114
8.4 判断逻辑备用不维护的表 116
8.5 逻辑备用故障排除实例 120
第9章 物理备用数据库的新特性 125
9.1 物理备用的只读模式 125
9.2 物理备用的读/写模式 126
9.2.1 打开前的条件准备 126
9.2.2 激活物理备用库 128
9.2.3 返回到物理备用状态 129
9.2.4 处理主库的日志中断 131
9.3 快照备用数据库 138
9.4 Active Data Guard 141
9.4.1 备用数据库的读与写 141
9.4.2 实现活动备用数据库 141
9.4.3 活动备用数据库应用 143
第10章 角色切换与故障转移 145
10.1 角色切换与故障转移技术概要 145
10.1.1 角色切换(Switch Over) 145
10.1.2 故障转移(Fail Over) 145
10.1.3 角色切换注意事项 146
10.2 故障转移与数据损失 147
10.3 数据库闪回与Data Guard 147
10.4 闪回日志导致的数据库故障 148
10.5 角色切换前的准备工作 151
10.5.1 检查日志传输 151
10.5.2 检查备用端的日志应用 152
10.5.3 检查会话和后台作业 153
10.6 物理备用与主数据库的角色切换 155
10.6.1 网络配置与角色参数 155
10.6.2 主数据库中的工作 155
10.6.3 物理备用数据库中的工作 160
10.6.4 主数据库与物理备用SWITCHOVER小结 162
10.7 逻辑备用与主数据库的角色切换 164
10.7.1 准备切换阶段 164
10.7.2 执行角色切换 166
10.7.3 主数据库与逻辑备用数据库SWITCHOVER小结 168
10.8 故障转移至备用数据库 169
10.8.1 备用数据库的选择和处理 169
10.8.2 转移至物理备用数据库 170
10.8.3 转移至逻辑备用数据库 174
10.8.4 原有主数据库的再利用 181
第11章 Data Guard的主要参数、视图与管理指令 189
11.1 初始化参数及其设置 189
11.1.1 Data Guard主要参数 189
11.1.2 参数LOG_ARCHIVE_DEST_n 190
11.1.3 参数LOG_ARCHIVE_TRACE 191
11.2 Data Guard视图 192
11.3 Data Guard的管理指令 193
11.3.1 管理数据库 193
11.3.2 管理实例 195
11.3.3 管理会话 196
11.3.4 常用指令流程图 196
11.4 PL/SQL程序包 198
11.4.1 DBMS_LOGMNR程序包 199
11.4.2 DBMS_LOGMNR_D程序包 200
11.4.3 DBMS_LOGSTDBY程序包 200
第12章 RMAN备份与恢复技术 203
12.1 熟悉RMAN环境 203
12.1.1 RMAN环境的构成 203
12.1.2 目标数据库的配置 206
12.1.3 目录数据库的配置 206
12.1.4 配置RMAN执行环境 209
12.1.5 配置备份通道与存储 213
12.1.6 磁带通道的磁盘模拟 215
12.2 RMAN备份的主要形式 217
12.2.1 RMAN备份的优点 217
12.2.2 备份目标和备份结果 218
12.2.3 执行RMAN备份BACKUP 218
12.2.4 Plus Archivelog解析 220
12.3 执行RMAN增量备份 225
12.3.1 启动块改变跟踪 225
12.3.2 增量备份的类别 226
12.3.3 基于SCN的增量备份 227
12.4 RMAN备份的其他选项 227
12.4.1 Backup指令的其他选项 227
12.4.2 限定RMAN备份的过程 229
12.5 管理RMAN的备份结果 229
12.5.1 查看备份结果LIST 230
12.5.2 关于备份的报告 234
12.5.3 备份的状态与交叉检验 236
12.5.4 在RMAN中注册备份 237
第13章 RMAN与Data Guard 239
13.1 RMAN复制与备用数据库 239
13.1.1 复制的必要准备 239
13.1.2 为物理备用而复制 240
13.2 Data Guard环境中的RMAN配置 245
13.2.1 唯一性标识DB_UNIQUE_NAME 245
13.2.2 为主备库配置RMAN 247
13.3 卸载备份至备用数据库 250
13.3.1 RMAN备份的数据库相关性 250
13.3.2 使用备用端备份恢复主数据库 254
13.3.3 使用备用端数据文件恢复主数据库 260
第14章 闪回数据库与Data Guard 264
14.1 数据库闪回功能 264
14.1.1 闪回日志与数据库闪回 264
14.1.2 还原点和闪回窗口 265
14.2 配置数据库闪回和还原点 267
14.2.1 闪回和保证还原点的条件 267
14.2.2 启动数据库闪回功能 267
14.3 闪回恢复区的维护 271
14.3.1 闪回恢复区的删除规则 271
14.3.2 监控与管理闪回恢复区 272
14.4 闪回数据归档 273
14.5 数据库闪回与数据恢复 274
14.5.1 当前演化路径下的闪回 276
14.5.2 闪回到Incarnation演化分支 278
14.6 数据库闪回在Data Guard中的应用 280
14.6.1 基于保证还原点的应用 281
14.6.2 使用快照备用数据库 284
第15章 集群数据库系统RAC 289
15.1 RAC体系结构 289
15.1.1 RAC总体框架图 290
15.1.2 共享存储部分 291
15.1.3 集群件(Clusterware) 292
15.1.4 网络访问部分 293
15.2 OCR与Voting Disk 294
15.2.1 集群注册表(OCR) 294
15.2.2 表决磁盘(Voting Disk) 296
15.2.3 本地集群注册表(OLR) 297
15.3 构造Clusterware集群平台 298
15.3.1 主机环境概要 298
15.3.2 ASMLib驱动与ASM磁盘 312
15.3.3 网格基础架构(Grid Infrastructure) 314
15.4 创建RAC集群数据库 317
15.4.1 选择DBMS软件 317
15.4.2 集群数据库的特有设置 319
15.4.3 RAC数据库的形成过程 320
15.5 RAC的缓存融合技术 323
15.5.1 全局资源目录(GRD) 324
15.5.2 GCS和GES 324
15.5.3 RAC后台进程 325
第16章 RAC环境下的Data Guard 326
16.1 RAC主机环境描述 326
16.1.1 基于RAC的Dataguard框架 326
16.1.2 主备数据库及其实例配置 327
16.1.3 建立Dataguard前的基础条件 328
16.2 Primary端RAC数据库的准备 330
16.2.1 检查和调整主数据库的运行 330
16.2.2 备份主数据库 331
16.2.3 主数据库端的网络配置 333
16.2.4 主数据库端的参数调整 335
16.3 Standby端RAC数据库的准备 335
16.3.1 准备备用数据库实例 336
16.3.2 还原并启动备用数据库 339
16.3.3 创建备用重做日志 341
16.3.4 向集群中注册RAC备用数据库 342
16.4 启动备用实例的托管恢复 343
16.4.1 检查日志传输 343
16.4.2 启动日志应用 344
16.5 RAC备用数据库的应用 346
16.5.1 RAC备用冷集群 346
16.5.2 RAC活动备用数据库 346
第17章 由ASM到RAC+DG的高可用之路 348
17.1 GI独立服务器基础架构及其ASM数据库 348
17.1.1 安装独立服务器网格基础架构 349
17.1.2 安装配置DBMS软件和数据库 360
17.1.3 迁移数据库至ASM存储 361
17.2 Data Guard及其备用数据库诞生记 367
17.2.1 创建物理备用数据库的基本过程 367
17.2.2 创建逻辑备用数据库的基本过程 380
17.3 RAC集群数据库的构造过程 388
17.3.1 单节点GI for Cluster的安装和配置 388
17.3.2 Oracle数据库软件的安装 398
17.3.3 创建集群数据库 399
17.3.4 向OCR注册集群数据库 406
17.3.5 扩展集群至新节点 414
17.3.6 删除集群中的节点 425
17.4 典型的RAC+Data Guard高可用环境MAA 430
17.4.1 RAC主数据库端环境描述 430
17.4.2 为创建备用数据库做准备 433
17.4.3 启动备用端实例 436
17.4.4 在备用端还原数据库 440
17.4.5 启动托管恢复 444
17.4.6 主备用角色切换 445
参考文献 446