一、目录介绍
第Ⅰ部分 Oracle RMAN 11g基础知识
第1章 Oracle Database 11g备份与恢复体系结构概述
1.1 备份和恢复概要 4
1.1.1 高可用性 5
1.1.2 备份和恢复 5
1.2 需要掌握的Oracle术语 7
1.3 数据库软件的控制 9
1.4 Oracle体系结构 11
1.5 Oracle内存和RMAN 12
1.6 更多关于Oracle重做日志的内容 16
1.6.1 ARCHIVELOG模式与NOARCHIVELOG模式 20
1.6.2 Oracle逻辑结构 20
1.7 组合情况 20
1.7.1 数据库的启动和关闭 21
1.7.2 使用数据库和内核 23
1.8 Oracle备份与恢复入门 25
1.8.1 逻辑备份与恢复 25
1.8.2 Oracle物理备份与恢复 25
1.8.3 备份其他Oracle组件 30
1.9 小结 31
第2章 RMAN体系结构概述
2.1 服务器管理恢复 34
2.2 RMAN实用程序 34
2.3 RMAN备份的网络拓扑结构 36
2.3.1 远程运行RMAN 36
2.3.2 在目标数据库的ORACLE_HOME中本地运行RMAN 38
2.4 数据库控制文件 39
2.4.1 在控制文件中重用记录 39
2.4.2 快照控制文件 41
2.5 RMAN服务器进程 42
2.5.1 RMAN信道进程 42
2.5.2 RMAN和I/O从属 43
2.6 RMAN使用的SYS数据包 43
2.6.1 SYS.DBMS_RCVMAN数据包 43
2.6.2 SYS.DBMS_BACKUP_RESTORE数据包 43
2.7 备份数据块 44
2.7.1 数据块备份概述 44
2.7.2 块级备份的优点 45
2.8 内存中的RMAN 47
2.8.1 输入内存缓冲区 47
2.8.2 用于还原的内存缓冲区 48
2.8.3 RMAN内存利用:PGA与SGA 49
2.9 恢复目录 50
2.10 辅助数据库 51
2.11 版本兼容性 52
2.11.1 目标数据库与RMAN可执行文件 53
2.11.2 恢复目录数据库与恢复目录模式 53
2.11.3 辅助数据库 53
2.12 RMAN进程 53
2.13 闪回恢复区 56
2.14 小结 57
第Ⅱ部分 设置原则和实践
第3章 RMAN设置和配置
3.1 配置数据库以在ARCHIVELOG模式中运行 62
3.1.1 ARCHIVELOG目标目录 62
3.1.2 闪回恢复区 64
3.1.3 是否应该使用FRA 70
3.1.4 ARCHIVELOG模式之间的切换 71
3.1.5 使用Oracle数据库配置助手创建数据库 71
3.2 Oracle Database 11g故障诊断基础架构 73
3.3 RMAN命令行 75
3.3.1 通过RMAN命令行连接 75
3.3.2 RMAN客户端兼容性 78
3.3.3 使用RMAN的connect命令 78
3.3.4 退出RMAN客户端 79
3.4 为RMAN操作配置数据库 79
3.4.1 设置数据库用户 79
3.4.2 设置数据库安全性 80
3.4.3 设置CONTROL_FILE_RECORD_KEEP_TIME参数 81
3.5 配置RMAN默认设置 82
3.5.1 configure命令介绍 82
3.5.2 配置多种RMAN默认设置 83
3.5.3 configure命令的使用示例 84
3.5.4 使用共享服务器的情况 95
3.6 RMAN配置任务总结 95
3.7 其他备份和恢复设置与配置问题 96
3.8 小结 96
第4章 介质管理问题
4.1 使用磁带备份的原因 98
4.2 RMAN和介质管理器概述 99
4.2.1 介质管理器目录 99
4.2.2 介质管理器的其他软件组件 100
4.2.3 介质管理库(MML) 100
4.2.4 连接MML的接口 102
4.3 SBT API 103
4.4 磁带备份的全过程 104
4.5 磁带还原的全过程 104
4.6 使用sbttest和loadsbt.exe 105
4.7 介质管理错误 106
4.8 小结 107
第5章 Oracle安全备份
5.1 OSB的特性 110
5.1.1 OSB和恢复管理器 110
5.1.2 OSB和OSB Express的区别 111
5.1.3 备份加密 111
5.1.4 快速数据库备份压缩 111
5.1.5 Oracle安全备份云模块 111
5.2 OSB的接口 111
5.3 OSB的组件 112
5.3.1 OSB守护进程(Daemons) 114
5.3.2 主机访问模式 114
5.3.3 管理数据 114
5.3.4 OSB用户和类 115
5.3.5 操作系统账户 115
5.3.6 NDMP主机 116
5.3.7 OSB权限和类 116
5.4 安装与配置OSB 117
5.5 使用OSB备份Oracle数据库及文件系统数据 128
5.6 使用OSB云模块备份数据库 133
5.7 小结 136
第6章 使用OSB云模块将数据库备份到Amazon Web服务
6.1 传统备份:前提与限制 138
6.2 OSB云模块 138
6.3 云计算的含义 138
6.4 Oracle与Amazon云 139
6.4.1 弹性计算云(EC2)与弹性块存储(EBS) 139
6.4.2 简单存储服务(S3)——Oracle的云备份解决方案 139
6.4.3 RMAN备份到S3:OSB云模块 139
6.4.4 通过Internet备份或Amazon EC2备份到S3 139
6.5 Oracle云备份的优点 140
6.6 使用OSB云模块执行备份 142
6.6.1 列出存储在S3中的RMAN备份以及备份集 144
6.6.2 通过Internet使用OSB云模块和Amazon S3优化备份与恢复 144
6.7 许可问题 146
6.8 小结 146
第7章 使用Oracle的VERITASNetBackup增强RMAN
7.1 关键特性 148
7.2 必要的组件 148
7.3 存储/介质设备配置 149
7.4 NetBackup的安装 149
7.4.1 安装NetBackup for Oracle代理之前的任务 150
7.4.2 NetBackup for Oracle代理安装步骤 150
7.5 链接Oracle与NetBackup介质管理器的方法 151
7.5.1 自动链接方法 151
7.5.2 手动链接方法 152
7.6 体系结构 153
7.7 配置NetBackup策略 154
7.7.1 添加新策略 154
7.7.2 定义时间表 157
7.7.3 定义备份选项 159
7.7.4 定义策略客户端 159
7.8 管理到期的备份映像 160
7.8.1 使用NetBackup存储库删除到期的备份 160
7.8.2 使用RMAN删除到期的备份 160
7.9 RMAN样本脚本 161
7.10 故障诊断 162
7.10.1 使用NetBackup日志 162
7.10.2 确定正在使用的库 163
7.11 维护安全的最佳方法 163
7.12 成本调整 163
7.13 小结 164
第8章 配置Oracle的HP Data Protector
8.1 集成Oracle与DataProtector 166
8.1.1 支持矩阵 166
8.1.2 集成组件 166
8.2 在Data Protector上配置RMAN备份 170
8.3 RMAN备份 174
8.3.1 备份方法 174
8.3.2 备份过程 175
8.4 使用Data Protector GUI还原Oracle数据库 175
8.4.1 还原控制文件 176
8.4.2 还原Oracle数据库对象 176
8.5 Oracle RMAN 元数据与Data Protector 介质管理数据库同步 177
8.6 小结 178
第9章 RMAN与Tivoli Storage Manager
9.1 Tivoli Storage Manager概述 180
9.1.1 TSM服务器系统对象 181
9.1.2 TSM客户端 182
9.1.3 TSM Administration Center 和Web客户端 183
9.2 使用TDPO完成RMAN备份 187
9.3 删除数据库备份 192
9.4 公共备份场景的故障诊断 193
9.5 其他故障诊断 194
9.6 小结 195
第10章 恢复目录的使用
10.1 恢复目录的含义 198
10.1.1 创建恢复目录 199
10.1.2 使用虚拟私有目录 202
10.2 合并多个恢复目录 203
10.3 维护恢复目录 204
10.3.1 取消RMAN中的数据库注册 204
10.3.2 数据库迁移/升级问题 205
10.3.3 手动重新设置数据库对应物(reset catalog) 205
10.3.4 手动执行恢复目录的再同步操作(resync catalog) 205
10.3.5 清除恢复目录记录 206
10.4 备份恢复目录 206
10.5 恢复目录视图 206
10.5.1 RC_ARCHIVED_LOG(V$ARCHIVED_LOG) 207
10.5.2 RC_BACKUP_CONTROLFILE(V$BACKUP_DATAFILE) 207
10.5.3 RC_BACKUP_CORRUPTION(V$BACKUP_CORRUPTION) 208
10.5.4 RC_BACKUP_DATAFILE(V$BACKUP_DATAFILE) 208
10.5.5 RC_BACKUP_FILES(V$BACKUP_FILES) 208
10.5.6 RC_BACKUP_PIECE(V$BACKUP_PIECE) 209
10.5.7 RC_BACKUP_REDOLOG(V$BACKUP_REDOLOG) 209
10.5.8 RC_BACKUP_SET(V$BACKUP_SET) 209
10.5.9 RC_BACKUP_SPFILE(V$BACKUP_SPFILE) 209
10.5.10 RC_CONTROLFILE_COPY(V$DATAFILE_COPY) 209
10.5.11 RC_COPY_CORRUPTION(V$COPY_CORRUPTION) 209
10.5.12 RC_DATABASE(V$DATABASE) 209
10.5.13 RC_DATABASE_BLOCK_CORRUPTION(V$DATABASE_BLOCK_CORRUPTION) 210
10.5.14 RC_DATABASE_INCARNATION(V$DATABASE_INCARNATION) 210
10.5.15 RC_DATAFILE(V$DATAFILE) 210
10.5.16 RC_DATAFILE_COPY(V$DATAFILE_COPY) 210
10.5.17 RC_LOG_HISTORY(V$LOG_HISTORY) 210
10.5.18 RC_OFFLINE_RANGE(V$OFFLINE_RANGE) 211
10.5.19 RC_REDO_LOG(V$LOG, V$LOGFILE) 211
10.5.20 RC_REDO_THREAD(V$THREAD) 211
10.5.21 RC_RESYNC 211
10.5.22 RC_RMAN_CONFIGURATION(V$RMAN_CONFIGURATION) 211
10.5.23 RC_TABLESPACE(V$TABLESPACE) 212
10.5.24 RC_TEMPFILE(V$TEMPFILE) 212
10.5.25 为Oracle 企业管理器提供的目录视图 212
10.6 小结 213
第11章 RMAN备份
11.1 RMAN备份优于脚本化备份 215
11.2 RMAN兼容性问题 217
11.3 监控RMAN备份状态 218
11.4 脱机RMAN数据库备份 218
11.4.1 使用默认的设置执行脱机备份操作 219
11.4.2 不使用默认的设置执行脱机备份操作 222
11.5 Backup命令选项 225
11.5.1 多段备份 225
11.5.2 压缩 226
11.5.3 标记和还原点 227
11.5.4 限定备份的影响 228
11.5.5 限定备份集的大小 228
11.5.6 备份到特定的设备类型 229
11.5.7 修改备份集的保留策略 229
11.5.8 归档日志删除策略 231
11.5.9 重写configure exclude命令 232
11.5.10 使用backup命令检查数据库的错误 232
11.5.11 跳过脱机的、不可访问的或只读的数据文件 232
11.5.12 强制备份只读的数据文件 233
11.5.13 基于上次备份时间来备份数据文件 233
11.5.14 在RMAN复制设备上生成备份副本 235
11.5.15 捕获隐蔽的控制文件 235
11.6 set命令介绍 235
11.7 联机RMAN数据库备份 236
11.7.1 联机数据库备份 236
11.7.2 表空间备份 239
11.7.3 数据文件备份 239
11.7.4 归档重做日志备份 240
11.7.5 控制文件和服务器参数文件备份 241
11.7.6 备份集备份 241
11.7.7 闪回恢复区备份 242
11.8 副本 242
11.8.1 映像副本介绍 242
11.8.2 数据库、表空间和数据文件的映像副本 242
11.8.3 控制文件副本 243
11.8.4 ARCHIVELOG映像副本 244
11.9 增量RMAN备份 244
11.9.1 块更改跟踪文件 245
11.9.2 基本备份 246
11.9.3 差异增量备份与累积增量备份 246
11.10 备份操作练习 250
11.11 小结 253
第12章 RMAN还原与恢复
12.1 RMAN还原与恢复基础 256
12.2 还原数据库前的准备工作 257
12.3 RMAN还原与恢复前的操作 257
12.3.1 有关恢复、恢复目录及MML层的注意事项 258
12.3.2 还原服务器参数文件(SPFILE) 258
12.3.3 还原控制文件 263
12.4 restore和recover命令 270
12.4.1 restore命令 270
12.4.2 recover命令 271
12.5 在NOARCHIVELOG模式中还原和恢复数据库 271
12.5.1 还原的准备工作 271
12.5.2 在不同的位置上还原数据库 273
12.6 在ARCHIVELOG模式中恢复数据库 276
12.6.1 故障点数据库恢复 277
12.6.2 表空间恢复 281
12.6.3 数据文件恢复 282
12.6.4 使用增量备份的恢复操作 282
12.7 联机重做日志丢失的恢复 283
12.7.1 非活动的联机重做日志文件组成员的丢失 284
12.7.2 非活动的联机重做日志文件组的丢失 284
12.7.3 丢失活动但非当前状态的联机重做日志文件组 285
12.7.4 丢失当前联机重做日志文件组 286
12.8 数据恢复顾问 286
12.9 小结 292
第Ⅲ部分 更有效地使用RMAN
第13章 使用Oracle企业管理器实现备份和恢复操作
13.1 Oracle企业管理器:新范例 296
13.2 Grid Control 298
13.2.1 Grid Control的体系结构 299
13.2.2 安装和配置Grid Control 300
13.3 Database Control 300
13.3.1 Database Control的体系结构 301
13.3.2 安装和配置Database Control 302
13.4 在企业管理器中配置备份设置 305
13.4.1 设备配置 306
13.4.2 备份集配置 307
13.4.3 策略配置 308
13.4.4 在OEM备份配置中无法配置的内容 308
13.5 配置恢复设置 310
13.5.1 实例恢复 310
13.5.2 介质恢复 310
13.5.3 闪回恢复 311
13.6 在OEM中配置恢复目录 312
13.7 企业管理器中的数据库备份 314
13.7.1 Oracle建议备份策略 314
13.7.2 调度自定义的备份 317
13.7.3 RMAN脚本作业与调度备份向导 318
13.8 在企业管理器中执行恢复操作 320
13.8.1 数据恢复顾问和OEM检查器 321
13.8.2 用户直接恢复 325
13.9 备份管理和报告 328
13.9.1 管理当前备份 328
13.9.2 管理还原点 329
13.9.3 创建备份报告 329
13.10 在企业管理器中复制数据库 329
13.11 小结 331
第14章 RMAN的高级恢复主题
14.1 不完全恢复 333
14.1.1 使用resetlogs命令 334
14.1.2 创建恢复点 335
14.1.3 基于时间的恢复 336
14.1.4 基于SCN的恢复 336
14.1.5 基于日志序列的恢复 336
14.1.6 基于删除的恢复 337
14.1.7 使用还原点恢复 337
14.2 其他RMAN恢复主题 337
14.2.1 只读表空间的恢复 337
14.2.2 归档重做日志的还原 338
14.2.3 数据文件副本的还原 338
14.2.4 恢复损坏的数据块 338
14.2.5 恢复前一个对应物 341
14.3 表空间时间点恢复 344
14.3.1 执行自动的TSPITR 345
14.3.2 手动执行TSPITR 348
14.3.3 TSPITR限制 353
14.4 验证备份可恢复 354
14.4.1 restore preview命令 354
14.4.2 使用validate和check logical参数的restore命令 356
14.4.3 使用validate backupset命令 358
14.5 跨平台的数据库移动和RMAN 359
14.5.1 可跨平台传送的表空间 359
14.5.2 字节排序和数据文件转换 360
14.5.3 跨平台移动数据库 361
14.6 处理RMAN的异常情况 362
14.7 小结 363
第15章 从用户错误中恢复:闪回技术
15.1 为不可避免的问题做准备:闪回技术 366
15.2 闪回查询 366
15.2.1 闪回和撤消段简介 366
15.2.2 执行闪回查询 367
15.2.3 使用Oracle企业管理器执行闪回版本查询 368
15.3 闪回表 371
15.3.1 从SQL中执行闪回表操作 372
15.3.2 在Oracle企业管理器中使用闪回表 372
15.4 闪回事务 374
15.5 闪回删除 376
15.6 闪回数据库 380
15.6.1 闪回日志 380
15.6.2 闪回保存目标 381
15.6.3 闪回数据库的调整 382
15.7 闪回数据归档(完全撤消) 384
15.8 小结 385
第16章 RMAN维护
16.1 RMAN的维护 388
16.1.1 交叉校验RMAN备份 388
16.1.2 RMAN备份的验证 392
16.1.3 备份保留策略 393
16.1.4 change命令 396
16.1.5 delete命令 404
16.1.6 在RMAN中为其他备份编写目录 405
16.2 RMAN存储的脚本 406
16.2.1 创建存储的脚本 407
16.2.2 查询存储脚本信息的恢复目录 407
16.2.3 修改存储的脚本 407
16.2.4 删除存储的脚本 407
16.2.5 使用存储的脚本 407
16.2.6 打印存储的脚本 408
16.3 删除数据库 409
16.4 小结 409
第17章 RMAN的监控和报告
17.1 RMAN的list命令 411
17.1.1 列出对应物 412
17.1.2 列出备份 412
17.1.3 列出映像副本 423
17.2 RMAN的report命令 426
17.2.1 报告最近没有被备份的数据文件 426
17.2.2 报告备份冗余或恢复窗口 427
17.2.3 报告数据文件的不可恢复操作 428
17.2.4 报告数据库模式 428
17.2.5 报告过时的备份 428
17.3 用于报告的数据字典视图 430
17.4 小结 431
第18章 调整RMAN备份与恢复操作的性能
18.1 调整RMAN前的工作 434
18.1.1 可以达到的RMAN性能 434
18.1.2 使用合适的硬件 434
18.1.3 调整数据库 436
18.2 调整RMAN 438
18.2.1 调整RMAN设置 439
18.2.2 调整MML层 441
18.2.3 确认与数据库相关的RMAN问题 442
18.3 跟踪RMAN会话 448
18.4 小结 450
第Ⅳ部分 Oracle生态系统中的RMAN
第19章 复制目标数据库
19.1 RMAN复制的基础 454
19.1.1 使用RMAN复制的原因 454
19.1.2 RMAN复制的不同类型 455
19.1.3 复制体系结构 456
19.2 复制的位置 461
19.2.1 复制到相同的服务器 461
19.2.2 复制到相同服务器的不同ORACLE_HOME目录 463
19.2.3 复制到远程服务器 463
19.2.4 复制和网络 466
19.3 在相同服务器上复制 469
19.4 在远程服务器上复制 472
19.5 11g的无目标复制 474
19.6 小结 476
第20章 RMAN与Data Guard
20.1 RMAN与备用数据库 478
20.1.1 使用RMAN创建备用数据库的必要条件 478
20.1.2 duplicate…for standby命令 479
20.2 从备用数据库生成备份 483
20.2.1 从备用数据库生成的数据文件备份 485
20.2.2 从备用数据库备份归档日志 485
20.2.3 使用闪回数据库重新实例化备用数据库 486
20.3 小结 486
第21章 RMAN与Real Application Clusters
21.1 Real Application Clusters: 独特的备份问题 488
21.1.1 数据文件备份 489
21.1.2 归档日志备份 490
21.2 RAC恢复问题 492
21.2.1 还原操作 493
21.2.2 还原操作期间的介质管理问题 493
21.2.3 还原操作后的恢复问题 494
21.3 高级的RMAN/RAC功能 495
21.3.1 复制到单节点系统 495
21.3.2 单节点上的备用数据库 498
21.3.3 从单节点备用数据库备份多节点RAC数据库 501
21.4 小结 501
第22章 同步和拆分技术中的RMAN
22.1 同步和拆分:不完整的镜像备份 504
22.2 同步和拆分卷上的Oracle数据库 506
22.2.1 数据文件 507
22.2.2 控制文件 507
22.2.3 重做日志文件 508
22.2.4 归档日志 508
22.3 拆分镜像备份的优点 509
22.3.1 快速时间点恢复 509
22.3.2 相对快速的备份 509
22.3.3 在另一个服务器上加载拆分镜像 509
22.3.4 从拆分镜像中获得备份 510
22.4 RMAN与同步和拆分 510
22.4.1 使用RMAN注册拆分镜像副本 510
22.4.2 从拆分镜像中获得RMAN备份 510
22.4.3 廉价获得同步和拆分功能 512
22.4.4 将备用数据库、闪回数据库以及增量应用于同步和拆分 512
22.4.5 Oracle同步和拆分解决方案的优点 514
22.5 应用于Windows的Oracle集成卷影复制服务 514
22.6 小结 515
第23章 RMAN案例研究
23.1 恢复操作前的准备工作 518
23.1.1 故障的本质 518
23.1.2 可用的恢复选项 518
23.1.3 可能需要的Oracle支持 519
23.1.4 在恢复操作期间寻求帮助 519
23.2 恢复案例研究 519
23.3 小结 541
第Ⅴ部分 附录
附录A RMAN语法参考指南 545
附录B RMAN脚本示例 603
附录C 创建RMAN测试环境 607