第Ⅰ部分OracleRMAN11g基础知识 3
第1章OracleDatabase11g备份与恢复体系结构概述 3
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.1ARCHIVELOG模式与NOARCHIVELOG模式 20
1.6.2Oracle逻辑结构 20
1.7组合情况 20
1.7.1数据库的启动和关闭 21
1.7.2使用数据库和内核 23
1.8 Oracle备份与恢复入门 25
1.8.1逻辑备份与恢复 25
1.8.2Oracle物理备份与恢复 25
1.8.3备份其他Oracle组件 30
1.9小结 31
第2章RMAN体系结构概述 33
2.1服务器管理恢复 34
2.2RMAN实用程序 34
2.3RMAN备份的网络拓扑结构 36
2.3.1远程运行RMAN 36
2.3.2在目标数据库的ORACLEHOME中本地运行RMAN 38
2.4数据库控制文件 39
2.4.1在控制文件中重用记录 39
2.4.2快照控制文件 41
2.5RMAN服务器进程 42
2.5.1RMAN信道进程 42
2.5.2RMAN和I0从属 43
2.6RMAN使用的SYS数据包 43
2.6.1SYSDBMSRCVMAN数据包 43
2.6.2SYSDBMSBACKUPRESTORE数据包 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.3RMAN内存利用: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.12RMAN进程 53
2.13闪回恢复区 56
2.14小结 57
第Ⅱ部分设置原则和实践 61
第3章RMAN设置和配置 61
3.1配置数据库以在ARCHIVELOG模式中运行 62
3.1.1ARCHIVELOG目标目录 62
3.1.2闪回恢复区 64
3.1.3是否应该使用FRA 70
3.1.4ARCHIVELOG模式之间的切换 71
3.1.5使用Oracle数据库配置助手创建数据库 71
3.2OracleDatabasel1g故障诊断基础架构 73
3.3RMAN命令行 75
3.3.1通过RMAN命令行连接 75
3.3.2RMAN客户端兼容性 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设置CONTROLFILERECORDKEEPTIME参数 81
3.5配置RMAN默认设置 82
3.5.1configure命令介绍 82
3.5.2配置多种RMAN默认设置 83
3.5.3configure命令的使用示例 84
3.5.4使用共享服务器的情况 95
3.6RMAN配置任务总结 95
3.7其他备份和恢复设置与配置问题 96
3.8小结 96
第4章介质管理问题 97
4.1使用磁带备份的原因 98
4.2RMAN和介质管理器概述 99
4.2.1介质管理器目录 99
4.2.2介质管理器的其他软件组件 100
4.2.3介质管理库(MML) 100
4.2.4连接MML的接口 102
4.3SBTAPI 103
4.4磁带备份的全过程 104
4.5磁带还原的全过程 104
4.6使用sbttest和loadsbtexe 105
4.7介质管理错误 106
4.8小结 107
第5章Oracle安全备份 109
5.1OSB的特性 110
5.1.1OSB和恢复管理器 110
5.1.2OSB和OSBExpress的区别 111
5.1.3备份加密 111
5.1.4快速数据库备份压缩 111
5.1.5Oracle安全备份云模块 111
5.2OSB的接口 111
5.3OSB的组件 112
5.3.1OSB守护进程(Daemons) 114
5.3.2主机访问模式 114
5.3.3管理数据 114
5.3.4OSB用户和类I 115
5.3.5操作系统账户 115
5.3.6NDMP主机 116
5.3.7OSB权限和类 116
5.4安装与配置OSB 117
5.5使用OSB备份Oracle数据库及文件系统数据 128
5.6使用OSB云模块备份数据库 133
5.7小结 136
第6章使用OSB云模块将数据库备份到AmazonWeb服务 137
6.1传统备份:前提与限制 138
6.2OSB云模块 138
6.3云计算的含义 138
6.4Oracle与Amazon云 139
6.4.1弹性计算云EC2)与弹性块存储EBS) 139
6.4.2简单存储服务(S3)Oracle的云备份解决方案 139
6.4.3RMAN备份到S3:OSB云模块 139
6.4.4通过Inteet备份或AmazonEC2备份到S3 139
6.5Oracle云备份的优点 140
6.6使用OSB云模块执行备份 142
6.6.1列出存储在S3中的RMAN备份以及备份集 144
6.6.2通过Internet使用OSB云模块和AmazonS3优化备份与恢复 144
6.7许可问题 146
6.8小结 146
第7章使用Oracle的VERITASNetBackup增强RMAN 147
7.1关键特性 148
7.2必要的组件 148
7.3存储/介质设备配置 149
7.4NetBackup的安装 149
7.4.1安装NetBackupforOracle代理之前的任务 150
7.4.2NetBackupforOracle代理安装步骤 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.9RMAN样本脚本 161
7.10故障诊断 162
7.10.1使用NetBackup日志 162
7.10.2确定正在使用的库 163
7.11维护安全的最佳方法 163
7.12成本调整 163
7.13小结 164
第8章配置Orade的HPDataPtector 165
8.1集成Oracle与DataProtector 166
8.1.1支持矩阵 166
8.1.2集成组件 166
8.2在DataProtector上配置RMAN备份 170
8.3RMAN备份 174
8.3.1备份方法 174
8.3.2备份过程 175
8.4使用DataProtectorGUI还原Oracle数据库 175
8.4.1还原控制文件 176
8.4.2还原Oracle数据库对象 176
8.5OracleRMAN元数据与DataProtector介质管理数据库同步 177
8.6小结 178
第9章RMAN与TivoliStorageManager 179
9.1TivoliStotageManager概述 180
9.1.1TSM服务器系统对象 181
9.1.2TSM客户端 182
9.1.3TSMAdministrationCenter和Web客户端 183
9.2使用TDPO完成RMAN备份 187
9.3删除数据库备份 192
9.4公共备份场景的故障诊断 193
9.5其他故障诊断 194
9.6小结 195
第10章恢复目录的使用 197
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手动重新设置数据库对应物(resetcatalog) 205
10.3.4手动执行恢复目录的再同步操作synccatalog) 205
10.3.5清除恢复目录记录 206
10.4备份恢复目录 206
10.5恢复目录视图 206
10.5.1RCARCHIVEDLOG(V$ARCHIVEDLOG) 207
10.5.2RCBACKUPCONTROLFILE(V$BACKUP_DATAFILE) 207
10.5.3RCBACKUPCORRUPTION(V$BACKUPCORRUPTION) 208
10.5.4RCBACKUPDATAFILE(V$BACKUP_DATAFILE) 208
10.5.5RCBACKUPFILES(V$BACKUPFILES) 208
10.5.6RCBACKUPPIECE(V$BACKUPPIECE) 209
10.5.7RCBACKUPREDOLOG(V$BACKUPREDOLOG) 209
10.5.8RCBACKUPSET(V$BACKUPSET) 209
10.5.9RCBACKUPSPFILE(V$BACKUPSPFILE) 209
10.5.10RCCONTROLFILECOPY(V$DATAFILECOPY) 209
10.5.11RCCOPYCORRUPTION(V$COPY_CORRUPTION) 209
10.5.12RCDATABASE(V$DATABASE) 209
10.5.13RCDATABASEBLOCKCORRUPTION(V$DATBASEBLOCKCORRUPTION) 210
10.5.14RCDATABASECARNATION(V$DATABASECARNATION) 210
10.5.15RCDATAFILE(V$DATAFILE) 210
10.5.16RCDATAFILECOPY(V$DATAFILECOPY) 210
10.5.17RCLOGHISTORY(V$LOGHISTORY) 210
10.5.18RCOFFLINERANGE(V$OFFLINERANGE) 211
10.5.19RCREDOLOG(V$LOGV$LOGFILE) 211
10.5.20RCREDOTHREAD(V$THREAD) 211
10.5.21RCRESYNC 211
10.5.22RCRMANCONFIGURATION(V$RMANCONFIGURATION) 211
10.5.23RCTABLESPACE(V$TABLESPACE) 212
10.5.24RCTEMPFILE(V$TEMPFILE) 212
10.5.25为Oracle企业管理器提供的目录视图 212
10.6小结 213
第11章RMAN备份 215
11.1RMAN备份优于脚本化备份 215
11.2RMAN兼容性问题 217
11.3监控RMAN备份状态 218
11.4脱机RMAN数据库备份 218
11.4.1使用默认的设置执行脱机备份操作 219
11.4.2不使用默认的设置执行脱机备份操作 222
11.5Backup命令选项 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重写configureexclude命令 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.6set命令介绍 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.4ARCHIVELOG映像副本 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还原与恢复 255
12.1RMAN还原与恢复基础 256
12.2还原数据库前的准备工作 257
12.3RMAN还原与恢复前的操作 257
12.3.1有关恢复、恢复目录及MMI层的注意事项 258
12.3.2还原服务器参数文件(SPFILE) 258
12.3.3还原控制文件 263
12.4restore和recover命令 270
12.4.1restore命令 270
12.4.2recover命令 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 295
第13章使用Oracle企业管理器实现备份和恢复操作 295
13.1Oracle企业管理器:新范例 296
13.2GridControl 298
13.2.1GridControl的体系结构 299
13.2.2安装和配置GridContro 300
13.3DatabaseControl 300
13.3.1DatabaseControl的体系结构 301
13.3.2安装和配置DatabaseControl 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.1Oracle建议备份策略 314
13.7.2调度自定义的备份 317
13.7.3RMAN脚本作业与调度备份向导 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的高级恢复主题 333
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.3TSPITR限制 353
14.4验证备份可恢复 354
14.4.1restorepreview命令 354
14.4.2使用validate和checklogical参数的restore命令 356
14.4.3使用validatebackupset命令 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章从用户错误中恢复:闪回技术 365
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维护 387
16.1RMAN的维护 388
16.1.1交叉校验RMAN备份 388
16.1.2RMAN备份的验证 392
16.1.3备份保留策略 393
16.1.4change命令 396
16.1.5delete命令 404
16.1.6在RMAN中为其他备份编写目录 405
16.2RMAN存储的脚本 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的监控和报告 411
17.1RMAN的list命令 411
17.1.1列出对应物 412
17.1.2列出备份 412
17.1.3列出映像副本 423
17.2RMAN的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备份与恢复操作的性能 433
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调整MMM层 441
18.2.3确认与数据库相关的RMAN问题 442
18.3跟踪RMAN会话 448
18.4小结 450
第Ⅳ部分Oracle生态系统中的RMAN 453
第19章复制目标数据库 453
19.1RMAN复制的基础 454
19.1.1使用RMAN复制的原因 454
19.1.2RMAN复制的不同类型 455
19.1.3复制体系结构 456
19.2复制的位置 461
19.2.1复制到相同的服务器 461
19.2.2复制到相同服务器的不同ORACLEHOME目录 463
19.2.3复制到远程服务器 463
19.2.4复制和网络 466
19.3在相同服务器上复制 469
19.4在远程服务器上复制 472
19.5 11g的无目标复制 474
19.6小结 476
第20章RMAN与DataGuard 477
20.1RMAN与备用数据库 478
20.1.2使用RMAN创建备用数据库的必要条件 478
20.1.2duplicateforstandby命令 479
20.2从备用数据库生成备份 483
20.2.1从备用数据库生成的数据文件备份 485
20.2.2从备用数据库备份归档日志 485
20.2.3使用闪回数据库重新实例化备用数据库 486
20.3小结 486
第21章RMAN与RealApplicationClusters 487
21.1RealApplicationClusters:独特的备份问题 488
21.1.1数据文件备份 489
21.1.2归档日志备份 490
21.2RAC恢复问题 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 503
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.4RMAN与同步和拆分 510
22.4.1使用RMAN注册拆分镜像副本 510
22.4.2从拆分镜像中获得RMAN备份 510
22.4.3廉价获得同步和拆分功能 512
22.4.4将备用数据库、闪回数据库以及增量应用于同步和拆分 512
22.4.5Oracle同步和拆分解决方案的优点 514
22.5应用于Windows的Oracle集成卷影复制服务 514
22.6小结 515
第23章RMAN案例研究 517
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
第Ⅴ部分附录 545
附录ARMAN语法参考指南 545
附录BRMAN脚本示例 603
附录C创建RMAN测试环境 607