第Ⅰ部分 开始在Oracle Database12c中使用RMAN 3
第1章RMAN和Oracle Database 12c快速入门指南 3
1.1预备步骤 4
1.2为RMAN操作配置数据库 4
1.2.1确定FRA的正确位置并创建FRA 5
1.2.2登录到数据库并将其配置为使用FRA 5
1.2.3将数据库置于ARCHIVELOG模式 5
1.3备份数据库 6
1.4还原数据库 7
1.5小结 7
第2章Oracle Database 12c备份与恢复体系结构概述 9
2.1本书主要内容 10
2.2 RMAN专家也需要学习本章和本书 11
2.3开始学习之旅 12
2.4备份和恢复概要 12
2.4.1高可用性 13
2.4.2备份和恢复 14
2.5需要掌握的Oracle术语 16
2.6多租户功能推出之前的Oracle数据库体系结构 19
2.6.1 Oracle进程 19
2.6.2 Oracle内存和RMAN 24
2.6.3 Oracle数据库 26
2.6.4更多关于Oracle重做日志的内容 29
2.6.5 ARCHIVELOG模式与NOARCHIVELOG模式 32
2.6.6 Oracle逻辑结构 33
2.7组合情况 33
2.8 Oracle数据库内核的更多信息 35
2.9控制数据库软件 38
2.10 Oracle备份与恢复入门 39
2.10.1逻辑备份与恢复 40
2.10.2 Oracle物理备份与恢复 40
2.10.3备份其他Oracle组件 44
2.11小结 45
第3章RMAN体系结构概述 47
3.1服务器管理的恢复 48
3.2 RMAN实用程序 48
3.3 RMAN备份的网络拓扑结构 51
3.3.1 RMAN和扩展 51
3.3.2 RMAN和共享服务器 52
3.3.3在目标数据库的ORACLE HOME中本地运行RMAN 53
3.4数据库控制文件 53
3.4.1在控制文件中重用记录 54
3.4.2快照控制文件 55
3.4.3重建控制文件 56
3.5 RMAN服务器进程 56
3.6 RMAN使用的SYS数据包 57
3.6.1 SYS.DBMS RCVMAN数据包 57
3.6.2 SYS.DBMS BACKUPRESTORE数据包 57
3.7备份数据块 58
3.7.1数据块备份概述 58
3.7.2块级备份的优点 59
3.8内存中的RMAN 61
3.8.1输入内存缓冲区 62
3.8.2 RMAN内存利用:PGA与SGA 63
3.9恢复目录 64
3.10辅助数据库 66
3.11兼容性问题 67
3.12 RMAN进程 68
3.13快速恢复区 70
3.14小结 71
第4章Oracle Database 12c多租户 73
4.1 Oracle多租户简介 74
4.1.1 CDB 75
4.1.2可插入数据库 79
4.1.3 Oracle多租户对 RMAN备份和恢复的影响 81
4.2管理容器数据库 81
4.2.1启动和停止CDB 81
4.2.2普通用户 82
4.3可插入数据库 84
4.3.1 PDB名称 85
4.3.2创建PDB 85
4.3.3 PDB用户 85
4.3.4连接到PDB 86
4.3.5确定当前所在的PDB 89
4.3.6可插入数据库的体系结构 90
4.3.7 PDB约束 92
4.3.8 PDB性能 92
4.3.9 PDB资源管理 93
4.4 CDB和PDB以及数据字典 94
4.4.1多租户数据库数据字典 94
4.4.2 PDB管理 96
4.5与CDB相关的其他主题 101
4.5.1删除CDB 102
4.5.2删除PDB 102
4.5.3克隆PDB以及插入和卸下PDB 102
4.6小结 102
第Ⅱ部分RMAN配置、备份和恢复基础知识 105
第5章RMAN设置和配置 105
5.1配置数据库以在ARCHIVELOG模式运行 106
5.1.1 ARCHIVELOG目标目录 106
5.1.2快速恢复区 108
5.1.3是否应使用FRA 121
5.1.4 ARCHIVELOG模式之间的切换 121
5.1.5使用ODBCA创建数据库 122
5.2 Oracle Database 12c故障诊断基础架构 124
5.2.1 ADR和相关的故障诊断基础架构组件 124
5.2.2配置故障诊断基础架构 129
5.3 RMAN命令行 131
5.3.1通过RMAN命令行连接 131
5.3.2退出RMAN客户端 136
5.4为RMAN操作配置数据库 136
5.4.1设置数据库用户 137
5.4.2设置数据库安全性 139
5.4.3设置CONTROL_FILE_RECORD_KEEP_TIME参数 140
5.5配置RMAN默认设置 141
5.5.1 confiigure命令介绍 142
5.5.2配置多种RMAN默认设置 142
5.5.3 confiigure命令的使用示例 143
5.5.4使用共享服务器的情况 156
5.6 RMAN配置任务总结 157
5.7其他备份和恢复设置与配置问题 158
5.8小结 158
第6章RMAN恢复目录 159
6.1恢复目录的含义 160
6.1.1在非多租户数据库中创建恢复目录拥有模式 162
6.1.2在多租户数据库中创建恢复目录拥有模式 164
6.1.3创建恢复目录模式对象 167
6.1.4使用RMAN虚拟私有目录 170
6.2合并多个恢复目录 173
6.3 RMAN存储脚本 174
6.3.1创建存储脚本 175
6.3.2在恢复目录中查询存储脚本信息 175
6.3.3修改存储脚本 175
6.3.4删除存储脚本 176
6.3.5使用存储脚本 176
6.3.6打印存储脚本 176
6.4维护恢复目录 177
6.4.1取消 RMAN中的数据库注册 177
6.4.2数据库迁移/升级问题 178
6.4.3手动重新设置数据库化身 178
6.4.4手动执行恢复目录的重新同步操作(resync catalog) 179
6.4.5清除恢复目录记录 179
6.5备份恢复目录 180
6.6恢复目录视图 180
6.6.1恢复目录视图和数据库数据字典视图的目的 180
6.6.2恢复目录基表、视图和数据库数据字典视图 180
6.6.3使用恢复目录基表和视图的示例 183
6.6.4为Oracle企业管理器提供的目录视图 186
6.7小结 187
第7章RMAN备份 189
7.1使用RMAN Backup命令 190
7.1.1 Backup命令 190
7.1.2 Backup命令、信道和性能 190
7.2 RMAN Backup命令选项 191
7.2.1备份到特定设备类型 192
7.2.2控制备份集和备份集片的特性 192
7.2.3多段备份 192
7.2.4 RMAN压缩 193
7.2.5标记 197
7.2.6还原点 198
7.2.7使用duration参数设置备份限制 198
7.2.8归档的备份 199
7.2.9重写configure exclude命令 201
7.2.10跳过脱机的、不可访问的或只读的数据文件 201
7.2.11重写备份优化 201
7.2.12基于上次备份时间来备份数据文件 202
7.2.13在备份操作期间检查逻辑损坏 203
7.2.14在RMAN复制设备上生成备份副本 203
7.2.15 捕获隐蔽的控制文件 204
7.3使用RMAN set命令 204
7.4脱机RMAN数据库备份 205
7.4.1使用已配置的设置执行脱机备份 205
7.4.2分析实习的输出结果 210
7.4.3不使用默认的设置执行脱机备份操作 217
7.5联机RMAN数据库备份 218
7.6其他类型的RMAN联机备份 221
7.6.1表空间备份 221
7.6.2数据文件备份 222
7.6.3归档重做日志备份 223
7.6.4控制文件和参数文件备份 224
7.6.5备份集备份 224
7.6.6快速恢复区备份 225
7.7副本 226
7.7.1映像副本 226
7.7.2数据库、表空间和数据文件的映像副本 226
7.7.3控制文件副本 227
7.7.4 ARCHIVELOG映像副本 228
7.8增量RMAN备份 228
7.8.1块更改跟踪文件 229
7.8.2基本备份 230
7.8.3差异增量备份与累积增量备份 230
7.9增量更新备份 232
7.10开始备份数据库 234
7.11本章介绍的RMAN最佳实践 237
7.12小结 237
第8章RMAN还原与恢复 239
8.1 RMAN还原与恢复基础 240
8.2 Oracle数据库恢复的类型 241
8.3关于还原多租户数据库 241
8.4准备RMAN还原 241
8.5暂存RMAN备份集片供还原之用 242
8.5.1还原SPFILE 243
8.5.2还原控制文件 251
8.6在NOARCHIVELOG模式中还原和恢复数据库 255
8.6.1还原的准备工作 255
8.6.2在不同位置上还原数据库 259
8.7在ARCHIVELOG模式中恢复数据库 263
8.7.1故障点数据库恢复 264
8.7.2表空间恢复 272
8.7.3数据文件恢复 273
8.7.4使用增量备份的恢复操作 274
8.8联机重做日志丢失的恢复 274
8.8.1非活动的联机重做日志组成员的丢失 275
8.8.2非活动的联机重做日志组的丢失 275
8.8.3丢失活动但非当前状态的联机重做日志组 277
8.8.4丢失当前联机重做日志组 277
8.9数据恢复顾问 277
8.9.1通过RMAN使用数据恢复顾问 277
8.9.2 DRA数据字典视图 283
8.10小结 284
第9章RMAN的高级恢复主题 285
9.1恢复可插入数据库 286
9.1.1恢复根容器 286
9.1.2恢复种子容器 287
9.1.3恢复PDB 288
9.2在非CDB和整个CDB数据库上执行不完全数据库恢复 291
9.2.1不完全恢复的含义 292
9.2.2不完全恢复的工作原理 292
9.2.3创建恢复点 293
9.2.4基于时间的恢复 294
9.2.5基于SCN的恢复 294
9.2.6基于更改的恢复 295
9.2.7基于还原点的恢复 295
9.3执行PDB的不完全恢复 296
9.3.1关于PDB时间点恢复 296
9.3.2与PDB时间点恢复相关的限制和要求 297
9.3.3基于时间恢复PDB 298
9.3.4基于SCN恢复PDB 299
9.3.5基于更改恢复PDB 301
9.3.6基于还原点恢复 301
9.4其他RMAN恢复主题 301
9.4.1只读表空间的恢复 302
9.4.2归档重做日志的还原 302
9.4.3数据文件副本的还原 302
9.4.4恢复受损的数据块 303
9.4.5恢复到前一个化身 304
9.5表和分区时间点恢复 306
9.5.1还原和恢复数据库表及分区的前提条件 306
9.5.2还原和恢复数据库表及分区的限制 307
9.5.3还原表和分区时考虑的选项 307
9.5.4 RMAN还原和恢复表及分区的方式 308
9.5.5从PDB还原表和分区 308
9.5.6使用RMAN还原和恢复数据库表的示例 308
9.6表空间时间点恢复 311
9.6.1为TSPITR做准备 311
9.6.2执行实际的TSPITR 312
9.6.3带有自动实例的自定义自动TSPTTR 313
9.7小结 314
第10章 复制:克隆目标数据库 315
10.1 RMAN复制的基础知识 316
10.1.1使用RMAN复制的原因 316
10.1.2 RMAN复制的不同类型 317
10.1.3复制体系结构 318
10.2复制的位置 323
10.2.1复制到同一服务器 324
10.2.2复制到同一服务器的不同ORACLE HOME目录 325
10.2.3复制到远程服务器 325
10.2.4复制和网络 328
10.3在同一服务器上复制 331
10.4复制到远程服务器 334
10.5 12c的无目标复制 336
10.6 12c中的新RMAN克隆功能 338
10.6.1使用压缩 339
10.6.2复制大表空间 339
10.7小结 340
第Ⅲ部分RMAN维护与管理 343
第11章RMAN维护 343
11.1 RMAN的维护 344
11.2备份的验证 347
11.2.1 restore …preview命令 347
11.2.2 restore…validate和check logical命令 348
11.2.3使用validate命令 348
11.2.4备份保留策略 349
11.2.5归档日志保留策略 350
11.2.6 change命令 353
11.2.7 delete命令 357
11.2.8在RMAN中为其他备份编写目录 358
11.3 RMAN存储的脚本 359
11.3.1创建存储的脚本 360
11.3.2在恢复目录中查询存储的脚本信息 360
11.3.3修改存储的脚本 360
11.3.4删除存储的脚本 360
11.3.5使用存储的脚本 360
11.3.6打印存储的脚本 361
11.4删除数据库 362
11.5小结 362
第12章RMAN的监视和报告 363
12.1 RMAN的list命令 363
12.1.1列出化身 364
12.1.2列出备份 365
12.1.3列出映像副本 373
12.1.4列出还原点 376
12.1.5列出DB_ UNIQUE_NAME 376
12.2 RMAN的report命令 377
12.2.1报告最近没有被备份的数据文件 377
12.2.2报告备份冗余或恢复窗口 377
12.2.3报告数据文件的不可恢复操作 378
12.2.4报告数据库模式 378
12.2.5报告过时的备份 379
12.3用于报告的数据字典视图 380
12.4小结 381
第13章 调整RMAN备份与恢复操作的性能 383
13.1调整RMAN前的工作 384
13.1.1可达到的RMAN 性能 384
13.1.2使用合适的硬件 385
13.1.3使用正确的备份策略 387
13.1.4调整数据库 387
13.2调整RMAN 389
13.2.1调整RMAN设置 390
13.2.2调整MML层 392
13.2.3确认与数据库相关的RMAN问题 393
13.3跟踪RMAN会话 399
13.4小结 400
第14章 使用Oracle Cloud Control实现备份和恢复操作 401
14.1 EM 12c体系结构 402
14.1.1 Oracle管理存储库 402
14.1.2 Oracle管理服务 402
14.1.3 Oracle管理代理 402
14.1.4 Cloud Control控制台 403
14.1.5插件 404
14.2安装和配置Enterprise Manager Cloud Control 12c以进行数据库备份 404
14.2.1安装Enterprise Manager代理 404
14.2.2发现目标 405
14.3使用EM 12c配置备份和恢复 407
14.4使用EM 12c备份数据库 411
14.4.1调度Oracle建议的备份 411
14.4.2调度自定义备份 413
14.4.3一次性备份多个数据库 416
14.5管理备份 418
14.6备份报告 418
14.7使用EM 12c进行恢复 419
14.7.1还原点 419
14.7.2执行恢复 421
14.8小结 423
第Ⅳ部分 高可用体系结构中的RMAN 427
第15章RMAN最佳实践 427
15.1数据保护 428
15.1.1企业体系结构 428
15.1.2备份和恢复 429
15.1.3高可用性 430
15.1.4灾难恢复 431
15.1.5数据监管和安全 431
15.1.6监视和调度 432
15.2最佳实践 433
15.2.1服务级别协议 433
15.2.2标准和过程 437
15.3 RMAN最佳实践 438
15.4小结 439
第16章 从用户错误中恢复:闪回技术 441
16.1为不可避免的问题做准备:闪回技术 442
16.2闪回和撤销段的密切关系 443
16.3闪回查询 444
16.4闪回版本查询 444
16.5闪回表 446
16.5.1从SQL中执行闪回表操作 446
16.5.2在Oracle Enterpnse Manager中使用闪回表 447
16.6闪回事务 447
16.7闪回删除 448
16.8闪回数据库 450
16.8.1闪回日志 450
16.8.2闪回保存目标 450
16.8.3闪回数据库的优化和调整 452
16.9闪回数据归档(完全撤销) 453
16.10小结 453
第17章RMAN与Data Guard 455
17.1备用数据库的类型 456
17.1.1物理备用数据库 456
17.1.2逻辑备用数据库 456
17.2使用RMAN创建备用数据库 456
17.3准备创建备用数据库 457
17.3.1确定命名约定 457
17.3.2将数据库置于ARCHIVELOG模式并强制启用日志记录模式 458
17.3.3设置数据库参数 459
17.3.4创建辅助数据库口令文件 460
17.3.5配置Oracle Network 460
17.3.6准备和启动辅助实例 463
17.3.7启动RMAN 463
17.3.8创建备用数据库 463
17.4创建备用数据库之后 464
17.5从备用数据库生成备份 470
17.6其他RMAN和Data Guard主题 471
17.6.1使用RMAN从备用数据库还原丢失的数据文件、表空间或数据库 471
17.6.2再同步备用数据库 471
17.7从备用数据库备份归档日志 472
17.8小结 472
第18章RMAN与Real Application Clusters 473
18.1 RAC独特的备份问题 474
18.1.1数据文件备份 475
18.1.2归档日志备份 476
18.2 RAC恢复问题 478
18.2.1还原操作 478
18.2.2还原操作期间的介质管理事项 479
18.2.3还原操作后的恢复问题 480
18.3高级RMAN/RAC功能 481
18.3.1复制到单节点系统 481
18.3.2单节点上的备用数据库 484
18.3.3备份多节点RAC数据库 486
18.4小结 487
第19章Zero Data Loss Recove Appliance: RMAN演变为企业级数据库保护解决方案 489
19.1 Zero Data Loss Recovery Appliance概述 490
19.1.1体系结构 491
19.1.2受保护的数据库 491
19.1.3增量推送 491
19.1.4增量存储 493
19.1.5复制 494
19.1.6自动磁带归档 494
19.1.7备份验证 495
19.2保护策略 495
19.3协作化空间管理 496
19.4监视和管理 497
19.5扩展硬件 498
19.6小结 499
第20章 在实际工作中使用RMAN:案例研究 501
20.1恢复操作前的准备工作 502
20.1.1故障的本质 502
20.1.2可用的恢复选项 503
20.1.3可能需要的Oracle支持 503
20.1.4在恢复操作期间寻求帮助 503
20.2恢复案例研究 504
20.3小结 522
第Ⅴ部分RMAN介质管理 525
第21章 介质管理问题 525
21.1磁盘备份领域中的磁带备份 526
21.2 RMAN和介质管理器概述 527
21.2.1介质管理器目录 527
21.2.2介质管理器的其他软件组件 528
21.2.3介质管理库 528
21.2.4与MML交互 530
21.3 SBT API 530
21.4磁带备份的全过程 531
21.5磁带还原的全过程 532
21.6使用sbttest和loadsbt.exe 532
21.7介质管理错误 533
21.8小结 534
第22章Oracle安全备份 535
22.1 OSB的特性 536
22.1.1 OSB和恢复管理器 536
22.1.2 OSB和OSB Express的区别 536
22.1.3备份加密 537
22.1.4快速数据库备份压缩 537
22.1.5 Oracle安全备份云模块 537
22.2 OSB的接口 537
22.3 OSB的组件 538
22.3.1 OSB守护进程 539
22.3.2主机访问模式 540
22.3.3管理数据 540
22.3.4 OSB用户和类 541
22.3.5操作系统账户 541
22.3.6 NDMP主机 542
22.3.7 OSB权限和类 542
22.4安装与配置OSB 543
22.5使用OSB备份Oracle数据库及文件系统数据 554
22.6使用OSB云模块备份Oracle数据库 559
22.7小结 562
第23章 使用OSB云模块将数据库备份到Amazon Web服务 563
23.1传统备份:前提与限制 564
23.2 OSB云模块 564
23.3云计算的含义 564
23.4 Oracle与Amazon云 565
23.4.1弹性计算云(EC2)与弹性块存储(EBS) 565
23.4.2简单存储服务(S3)——Oracle的云备份解决方案 565
23.4.3 RMAN备份到S3: OSB云模块 565
23.4.4通过Internet备份到S3或从Amazon EC2备份到S3 566
23.5 Oracle云备份的优点 566
23.6使用OSB云模块执行备份 568
23.6.1永久存储S3作为默认的SBT信道配置 569
23.6.2每次分配信道时指定OSB云模块 569
23.7列出存储在S3中的RMAN备份和备份集 570
23.7.1通过Internet使用OSB云模块和Amazon S3优化备份与恢复 570
23.7.2多个信道及压缩备份集的示例 572
23.8许可问题 572
23.9小结 572
第24章 使用Oracle的Veritas NetBackup增强RMAN 573
24.1关键特性 574
24.2必要的组件 574
24.3存储/介质设备配置 575
24.4 NetBackup的安装 575
24.4.1安装NetBackup for Oracle代理之前的任务 576
24.4.2 NetBackup for Oracle代理安装步骤 576
24.5链接Oracle与NetBackup介质管理器的方法 577
24.5.1自动链接方法 577
24.5.2手动链接方法 578
24.6体系结构 579
24.7配置NetBackup策略 580
24.7.1添加新策略 580
24.7.2定义时间表 583
24.7.3定义备份选项 585
24.7.4定义策略客户端 586
24.8管理到期的备份映像 587
24.8.1使用NetBackup存储库删除到期的备份 587
24.8.2使用RMAN删除到期的备份 587
24.9 RMAN示例脚本 588
24.10故障诊断 589
24.10.1使用NetBackup日志 589
24.10.2确定正在使用的库 590
24.11维护安全的最佳方法 590
24.12成本调整 590
24.13小结 591
第25章 配置Oracle的HP Data Protector 593
25.1集成Oracle与Data Protector 594
25.1.1支持矩阵 594
25.1.2集成组件 594
25.1.3集成限制 595
25.2在Data Protector上配置RMAN备份 598
25.3 RMAN备份 605
25.3.1备份方法 605
25.3.2备份过程 606
25.4使用Data Protector GUI还原Oracle数据库 606
25.4.1还原控制文件 607
25.4.2还原Oracle数据库对象 608
25.5 Oracle RMAN元数据与Data Protector介质管理数据库同步 609
25.6小结 609
第26章RMAN和Tivoli Storage Manager 611
26.1 Tivoli Storage Manager概述 612
26.1.1 TSM服务器系统对象 613
26.1.2 TSM客户端 614
26.2使用TDPO完成RMAN备份 618
26.3删除数据库备份 623
26.4公共备份场景的故障诊断 623
26.5小结 625
第27章RMAN和CommVault SimpanA 627
27.1 Simpana简介 628
27.1.1安装 628
27.1.2数据保留期 630
27.1.3调度策略 630
27.2 CommVault Oracle iDA的含义 631
27.2.1配置Oracle实例 632
27.2.2配置子客户端 634
27.3初始化备份 635
27.4还原 637
27.5高级配置 638
27.6 RMAN接口 641
27.7排除故障 641
27.8小结 643
第Ⅵ部分 附录 647
附录A RMAN脚本示例 647
A. 1用于Windows的RMAN脚本 648
A. 1.1创建Windows脚本以调度备份 648
A. 1.2调度备份 649
A. 2用于Unix的 RMAN脚本 649
附录B创建RMAN测试环境 651
B.1测试机器 652
B.1.1匹配生产环境 653
B.1.2节省成本是需要付出代价的 653
B.2 Oracle配置 653
B.2.1多个主目录 654
B.2.2创建数据库 654
B.3 RMAN配置 654