第1章 Oracle 12c云数据库基础 1
1.1云数据库概述 1
1.1.1云数据库的概念 1
1.1.2云数据库的特性 2
1.2 Oracle 12c云数据库简介 2
1.2.1 Oracle云计算模型 2
1.2.2 Oracle 12c新增功能 3
1.3 Oracle实例 4
1.3.1 Oracle实例结构 4
1.3.2内存结构 6
1.3.3进程管理 8
1.4数据库结构 11
1.4.1物理结构与逻辑结构的关系 11
1.4.2数据文件 12
1.4.3控制文件 13
1.4.4联机重做日志文件 14
1.4.5归档重做日志文件 16
1.4.6表空间 19
1.5多租户容器数据库 20
1.5.1多租户概念 20
1.5.2 CDB结构 21
1.5.3查询CBD和PDB 23
1.6示例数据库 23
1.6.1示例数据库ORADEMO 23
1.6.2恢复目录数据库CATDB 24
小结 24
习题 25
第2章 数据库备份与恢复概述 26
2.1数据库故障类型 26
2.1.1语句故障 26
2.1.2进程故障 27
2.1.3用户错误 27
2.1.4实例故障 27
2.1.5介质故障 27
2.2备份的类型 27
2.2.1物理备份与逻辑备份 28
2.2.2完全备份与部分备份 28
2.2.3一致备份与不一致备份 28
2.2.4冷备份与热备份 29
2.2.5备份与归档模式的关系 30
2.3恢复的基本概念 30
2.3.1数据库还原、数据库修复和数据库恢复 30
2.3.2崩溃恢复与介质恢复 31
2.3.3完全介质恢复和不完全介质恢复 31
2.4 Oracle备份与恢复解决方案 32
2.5 RMAN概述 32
2.5.1 RMAN配置环境 33
2.5.2 RMAN组成结构及关系 36
2.6 RMAN命令 37
2.6.1 RMAN的启动与退出 38
2.6.2 RMAN命令格式 39
2.6.3 RMAN常用命令 39
小结 44
习题 44
第3章 RMAN备份 45
3.1 RMAN备份概述 45
3.1.1 RMAN备份的基本概念 45
3.1.2备份的一般步骤 47
3.1.3 RMAN的配置命令 48
3.1.4 RMAN的BACKUP命令 48
3.2 RMAN备份基本配置 50
3.2.1初始化参数CONTROL_FILE_RECORD_KEEP_TIME设置 50
3.2.2配置备份的默认设备类型 51
3.2.3备份类型的配置 52
3.2.4通道分配配置 53
3.3配置RMAN备份保留策略 55
3.3.1备份的保留策略概述 55
3.3.2恢复窗口保留策略的配置 56
3.3.3冗余保留策略的配置 58
3.3.4管理备份保留策略的配置 58
3.3.5配置归档重做日志的删除策略 59
3.4配置快速恢复区 60
3.4.1快速恢复区概述 60
3.4.2快速恢复区大小的估值 61
3.4.3启用和禁用快速恢复区 61
3.4.4设置快速恢复区的大小 62
3.4.5设置或改变快速恢复区的位置 62
3.4.6快速恢复区的删除规则 63
3.4.7监控快速恢复区空间使用情况 63
3.5备份整个数据库 64
3.5.1非归档模式下备份整个数据库 64
3.5.2归档模式下备份整个数据库 68
3.6备份表空间和数据文件 69
3.6.1备份表空间 69
3.6.2备份数据文件 70
3.7备份控制文件和服务器参数文件 70
3.7.1手工备份控制文件 70
3.7.2控制文件的自动备份 71
3.7.3备份服务器参数文件 71
3.8备份归档重做日志文件 72
3.8.1 BACKUP ARCHIVELOG备份归档重做日志文件 72
3.8.2用BACKUP…PLUS ARCHIVELOG备份归档重做日志 72
3.9用RMAN进行双工备份 73
3.9.1用CONFIGURE BACKUP COPIES进行双工备份 73
3.9.2用BACKUP…COPIES进行双工备份 74
3.10建立RMAN镜像副本 75
3.10.1镜像副本概述 75
3.10.2建立镜像副本的方法 76
3.11用RMAN进行增量备份 76
3.11.1增量备份概述 77
3.11.2增量备份策略 78
3.11.3增量备份步骤 78
3.11.4增量更新备份 79
3.12备份CDB和PDB 82
3.12.1 RMAN备份整个CDB和根 82
3.12.2 RMAN备份PDB 82
3.12.3备份PDB中的表空间和数据文件 83
3.12.4备份CDB中的归档重做日志文件 83
3.13备份RMAN备份 84
3.13.1查看备份保留策略对备份RMAN备份的影响 84
3.13.2用RMAN备份备份集 84
3.13.3用RMAN备份镜像副本 85
3.13.4用RMAN备份恢复文件 85
3.14备份的高级操作 86
3.14.1限制备份集中的文件数 86
3.14.2限制备份集和备份片大小 87
3.14.3备份优化跳过指定文件 89
3.14.4 RMAN分割镜像备份 89
3.14.5加密RMAN备份 91
3.14.6压缩RMAN备份 93
3.14.7重新启动RMAN备份 94
3.14.8管理备份窗口 95
小结 96
习题 97
第4章 管理RMAN备份 98
4.1显示备份信息 98
4.1.1列出备份信息的命令 99
4.1.2显示数据库化身 101
4.2报告备份信息和数据库模式 104
4.2.1报告需要备份的文件 105
4.2.2报告受不可恢复操作影响的数据文件 107
4.2.3报告过时备份 107
4.2.4报告数据库模式 108
4.3用动态性能视图查询备份元数据 109
4.3.1查询RMAN任务的详细信息 109
4.3.2确定备份片的加密状态 110
4.3.3常用RMAN动态性能视图 111
4.4查询恢复目录视图 111
4.4.1恢复目录视图概述 111
4.4.2从恢复目录中查询DB_KEY或DBID的值 112
4.4.3查询备份文件信息视图RC_BACKUP_FILES 113
4.4.4查询注册数据库信息视图RC_DATABASE 113
4.5管理控制文件资料库 113
4.5.1维护控制文件资料库 114
4.5.2保护控制文件 115
4.6更新RMAN资料库 115
4.6.1交叉检查RMAN资料库 115
4.6.2更改备份和副本的资料库状态 117
4.6.3登记备份记录到RMAN资料库 119
4.6.4从RMAN资料库中删除记录 121
4.7删除RMAN备份与归档重做日志 121
4.7.1删除所有备份与镜像副本 122
4.7.2删除指定备份和副本 122
4.7.3删除归档重做日志 123
4.7.4报告和删除过期RMAN备份与镜像副本 124
4.7.5报告和删除过时的RMAN备份 124
4.7.6删除已从CDB中拔出的PDB的备份 125
4.7.7删除数据库 125
4.8管理恢复目录 126
4.8.1恢复目录概述 126
4.8.2创建恢复目录 127
4.8.3注册数据库到恢复目录 129
4.8.4从恢复目录中注销目标数据库 130
4.8.5删除恢复目录 131
4.8.6保护恢复目录 131
4.8.7建立和管理虚拟专用目录 133
4.8.8重新同步恢复目录 135
4.8.9在改变DB_UNIQUE_NAME后更新恢复目录 137
4.8.10重新设置恢复目录中的数据库化身 138
4.8.11导入和移动恢复目录 138
4.9管理存储脚本 139
4.9.1建立存储脚本 140
4.9.2更新存储脚本 141
4.9.3执行存储脚本 141
4.9.4显示脚本内容和存储脚本名称 143
4.9.5删除存储脚本 144
小结 144
习题 144
第5章 RMAN的数据库恢复 145
5.1 Oracle数据库恢复方法 145
5.1.1 Oracle数据库恢复技术 145
5.1.2 RM AN还原时的备份选项与优化 146
5.2验证数据库文件和备份 147
5.2.1验证概述 147
5.2.2用VALIDATE命令检查坏块 149
5.2.3用BACKUP VALIDATE命令验证数据库文件 150
5.2.4还原前验证备份 151
5.2.5验证CDB和PDB 151
5.3完全数据库恢复 152
5.3.1完全数据库恢复概述 152
5.3.2完全数据库恢复的准备 153
5.3.3完全数据库恢复操作 157
5.3.4表空间的完全恢复 159
5.3.5切换到镜像副本的完全恢复 160
5.3.6 CDB的完全数据库修复 161
5.4块介质恢复 163
5.4.1块介质恢复概述 164
5.4.2块介质修复的先决条件 166
5.4.3修复单个块 166
5.4.4修复V$DATABASE_BLOCK_CORRUPTION中列出的所有块 167
5.5 RM AN的高级恢复技术 167
5.5.1用增量备份恢复非归档模式数据库 167
5.5.2还原服务器参数文件 168
5.5.3用控制文件备份进行修复 170
5.5.4执行灾难恢复 173
5.5.5恢复数据库到新主机上 174
5.5.6通过网络还原和修复文件 178
5.6 RMAN表空间时间点恢复 181
5.6.1 RMAN TSPITR概述 182
5.6.2 TSPITR限制和注意事项 184
5.6.3 TSPITR准备 185
5.6.4执行全自动TSPITR 187
5.6.5用户定制的TSPITR 188
5.6.6用镜像副本执行RMAN TSPITR 189
5.6.7用备用数据库完成TSPITR 191
5.7从RMAN备份中恢复表和表分区 194
5.7.1从RMAN备份恢复表和表分区概述 194
5.7.2准备恢复表和表分区 196
5.7.3恢复表和表分区 196
5.7.4恢复PDB中的表和表分区 198
小结 199
习题 199
第6章 闪回技术与数据库时间点恢复 200
6.1闪回技术概述 200
6.1.1闪回技术配置 201
6.1.2闪回查询 202
6.1.3闪回版本查询 203
6.1.4闪回事务查询 203
6.2闪回表 204
6.2.1用闪回表倒回表数据 204
6.2.2用闪回删除倒回DROPTABLE操作 206
6.3闪回数据库 210
6.3.1基本概念 210
6.3.2管理恢复点和保证恢复点 211
6.3.3闪回数据库的限制和先决条件 216
6.3.4启用和禁用闪回数据库 217
6.3.5执行闪回数据库操作 217
6.3.6对整个CDB执行闪回数据库操作 219
6.3.7对PDB执行闪回数据库操作 219
6.3.8监视闪回数据库 220
6.4数据库时间点恢复 221
6.4.1执行数据库时间点恢复 221
6.4.2完成CDB和PDB的时间点恢复 223
6.4.3闪回技术和数据库时间点恢复的比较 224
6.4.4在PDB执行DBPITR后闪回CDB数据库 225
6.4.5用闪回数据库撤销OPEN RESETLOGS操作 226
6.4.6将数据库倒回到被遗弃的化身分支的SCN 227
6.4.7将数据库恢复到祖先化身 227
6.5闪回数据归档 229
6.5.1创建闪回数据归档 229
6.5.2管理闪回数据归档 230
小结 232
习题 232
第7章 用户管理的数据库备份与恢复 233
7.1用户管理的数据库备份 233
7.1.1用户管理数据库备份概述 233
7.1.2备份整个数据库 234
7.1.3备份表空间或数据文件 234
7.1.4备份控制文件 237
7.1.5归档重做日志文件的备份 237
7.1.6挂起数据库的备份 237
7.1.7备份CDB和PDB 239
7.1.8验证用户管理的备份 239
7.2用户管理的数据库恢复 239
7.2.1修复命令 240
7.2.2非归档模式下数据库的恢复 241
7.2.3归档模式下完全介质修复 242
7.2.4归档模式下的不完全介质修复 244
7.2.5修复控制文件 245
7.2.6修复归档重做日志文件 246
7.2.7用SQL*Plus执行闪回数据库 247
小结 249
习题 249
第8章 逻辑备份与恢复 250
8.1用Export和Import的逻辑备份与恢复 250
8.1.1 EXPROT导出命令 250
8.1.2 IMPORT导入命令 254
8.2用数据泵的逻辑备份与恢复 257
8.2.1 EXPDP导出数据命令 258
8.2.2 IMPDP导入数据命令 262
小结 264
习题 264
第9章 用RMAN迁移数据 265
9.1数据库复制概述 265
9.1.1数据库复制的基本概念 266
9.1.2基于备份的数据库复制原理 267
9.1.3活动数据库复制的原理 268
9.1.4复制数据库时RMAN的自动操作 270
9.1.5复制数据库过程 270
9.2规划数据库复制 271
9.2.1选择复制数据库的技术 272
9.2.2选择复制数据库文件的命名方法 272
9.2.3使复制实例可访问备份 274
9.3准备辅助实例 275
9.3.1为辅助实例创建初始化参数文件 275
9.3.2为辅助实例创建密码文件 277
9.3.3在源数据库和辅助实例之间建立连接 277
9.3.4启动辅助实例 278
9.4启动RMAN并连接数据库 278
9.5配置复制数据库所需的通道 279
9.5.1基于备份的复制数据库通道配置 279
9.5.2活动数据库复制的通道配置 280
9.6复制数据库 280
9.6.1复制整个数据库 280
9.6.2复制源数据库表空间的子集 283
9.6.3复制整个CDB 284
9.6.4复制PDB 285
9.6.5复制PDB中的表空间 285
9.6.6故障后重新启动DUPLICATE 286
9.7建立传输表空间集 286
9.7.1传输表空间集的目标和限制 286
9.7.2用SQL*Plus命令建立传输表空间 287
9.7.3建立传输表空间集时RMAN完成的任务 290
9.7.4定制辅助实例的初始化参数 291
9.7.5指定辅助文件位置 292
9.7.6用RMAN建立传输表空间集 294
小结 297
习题 297
参考文献 298