第Ⅰ部分 制定一个平滑的迁移计划 3
第1章 迁移、转换和升级方法概览 3
1.1 数据库升级方法 4
1.1.1 数据迁移方法 4
1.1.2 通过转换实现迁移的方法 5
1.2 未来的迁移、转换和升级技术 6
1.3 本章小结 6
第2章 选择正确的迁移方法 7
2.1 评估环境 7
2.1.1 迁移目标 8
2.1.2 停机时间需求 9
2.1.3 转换的目标 9
2.1.4 迁移方法回顾 10
2.1.5 资源 13
2.1.6 预算 14
2.1.7 其他注意事项 15
2.2 决策制定 16
2.2.1 停机时间如何影响方法选择 16
2.2.2 版本如何影响方法选择 16
2.2.3 架构如何影响方法选择 16
2.2.4 数据库转换如何影响方法选择 17
2.2.5 决策总结 18
2.3 混合解决方案 18
2.4 本章小结 19
第3章 迁移/转换/升级方法 21
3.1 规划迁移过程 21
3.1.1 确定停机窗口 22
3.1.2 应用程序工作负载分类 22
3.2 捕获迁移/转换/升级计划:主检查表 24
3.2.1 里程碑 24
3.2.2 任务、责任和行动 24
3.2.3 时间表和预期任务时序 25
3.2.4 回退计划 25
3.2.5 预期结果 25
3.3 测试所选的迁移/转换/升级方法 26
3.4 构建迁移计划 26
3.4.1 迁移步骤 27
3.4.2 资源分配 28
3.4.3 里程碑 29
3.4.4 质量保证 29
3.4.5 变更请求 29
3.4.6 用户验收测试 30
3.5 生产割接 30
3.5.1 规划生产割接 31
3.5.2 数据库验证 31
3.5.3 确保数据库的数据完整性 31
3.5.4 应用服务器迁移 32
3.5.5 评估应用性能 32
3.6 本章小结 33
第Ⅱ部分 跨平台迁移 37
第4章 Oracle Data Guard 37
4.1 Data Guard概览 37
4.1.1 什么是Data Guard 38
4.1.2 Data Guard如何工作 38
4.1.3 Data Guard组件 39
4.1.4 Data Guard模式 40
4.1.5 Data Guard Broker 41
4.2 使用Data Guard迁移的要求 41
4.3 配置Data Guard 42
4.3.1 为Data Guard做准备,设置主数据库和备用数据库 42
4.3.2 在主数据库修改init.ora参数 46
4.3.3 创建备用系统 48
4.3.4 将数据库复制到备用系统 48
4.3.5 配置Data Guard Broker 50
4.3.6 测试和验证 51
4.4 使用Data Guard完成迁移 51
4.5 本章小结 51
第5章 使用RMAN跨平台迁移 53
5.1 RMAN:内在优势 53
5.1.1 可靠性 54
5.1.2 处理效率 54
5.1.3 安全 55
5.2 RMAN备份、还原和恢复技术 55
5.2.1 根本性变革 55
5.2.2 Fast Recovery Area 56
5.2.3 Oracle建议备份策略的组成 57
5.3 RMAN的高级特性 66
5.3.1 RMAN在Oracle 11g中的增强:Multi-Piece Backup Set 66
5.3.2 RMAN在Oracle 12c中的增强 67
5.4 在ASM和其他文件系统之间迁移 67
5.4.1 从非ASM向ASM迁移:完整迁移 68
5.4.2 从非ASM向ASM迁移:分段迁移 90
5.4.3 在数据库迁移过程中监控RMAN性能 93
5.5 本章小结 94
第6章 传输表空间和数据库 97
6.1 不同操作系统之间的迁移 98
6.1.1 TTS迁移与TDB迁移:不同点的对比 98
6.1.2 跨平台迁移:三个组件 99
6.1.3 克服字节顺序问题 100
6.2 可传输表空间集:基础知识 102
6.2.1 TTS操作:前提条件 103
6.2.2 TTS:执行迁移操作 105
6.3 TTS:高级技巧 110
6.3.1 创建截至特定SCN的可传输表空间集 110
6.3.2 从源平台传送数据文件和元数据到目标平台 118
6.3.3 在目标端转换字节顺序 118
6.3.4 使用Data Pump导入源表空间元数据 119
6.3.5 在目标端将传输表空间切换为读写模式 119
6.3.6 在源端将选定表空间改回读写模式 119
6.4 TDB:传输整个数据库 119
6.4.1 TDB:优势和不足 119
6.4.2 TDB:实践案例 120
6.5 本章小结 131
第Ⅲ部分 迁移的增强和升级 135
第7章 使用Export/Import迁移Oracle数据库 135
7.1 Export/Import简介 136
7.1.1 使用Export/Import进行数据库迁移的概述 136
7.1.2 转换和Export/Import 137
7.1.3 使用Export/Import进行备份和恢复以及数据移动 137
7.1.4 导出的类型 137
7.2 使用Export/Import迁移元数据 138
7.3 使用原有Export/Import迁移Oracle数据库 139
7.3.1 使用原有Export/Import导出元数据 139
7.3.2 使用原有Export/Import进行导出 140
7.3.3 使用原有Export/Import进行导入 141
7.3.4 原有Export/Import总结 142
7.4 使用Data Pump Export/Import迁移Oracle数据库 142
7.4.1 Data Pump Export/Import目录对象 143
7.4.2 使用Data Pump Export/Import导出元数据 144
7.4.3 使用Data Pump进行导出 144
7.4.4 使用Data Pump Import进行导入 145
7.4.5 Data Pump Export/Import总结 147
7.5 使用FLASHBACK_SCN进行时间点导出 147
7.6 本章小结 147
第8章 使用Oracle GoldenGate进行零停机时间或停机时间最短的迁移 149
8.1 Oracle GoldenGate的介绍 150
8.1.1 Oracle GoldenGate的用法 150
8.1.2 GoldenGate的工作方式 150
8.1.3 GoldenGate的组件 150
8.1.4 GoldenGate工作流程 151
8.2 规划使用GoldenGate进行迁移 151
8.3 使用GoldenGate进行数据库迁移 152
8.3.1 设置GoldenGate 152
8.3.2 配置和验证数据库 155
8.3.3 启用GoldenGate复制 157
8.3.4 为GoldenGate Export/Import激活物理备用库 160
8.3.5 同步源端和目标端 163
8.3.6 监控直到切换 164
8.3.7 GoldenGate切换过程 164
8.3.8 GoldenGate清理(可选) 165
8.4 本章小结 166
第9章 跨平台可传输表空间迁移实用程序 169
9.1 XTTS迁移阶段 170
9.2 XTTS迁移场景 170
9.2.1 第一阶段:迁移的准备工作 170
9.2.2 第二阶段:初始迁移(方法A:RMAN) 174
9.2.3 第二阶段:初始迁移(方法B:DBMS_FILE_TRANSFER) 177
9.2.4 第三阶段:增量同步 179
9.2.5 第四阶段:最终同步和迁移 183
9.3 本章小结 186
第10章 使用ASM迁移到新存储平台 187
10.1 ASM概述 188
10.2 ASM配置 188
10.2.1 crsctl 188
10.2.2 srvctl 189
10.2.3 OEM Cloud Control 12c 189
10.2.4 SQL语句 191
10.2.5 asmcmd 192
10.3 存储系统概述 192
10.3.1 SAN存储 192
10.3.2 NAS存储 193
10.4 使用ASM进行迁移 193
10.4.1 向系统添加新存储 193
10.4.2 向ASM磁盘组添加存储 197
10.4.3 从ASM磁盘组中删除旧的磁盘 199
10.4.4 验证 201
10.4.5 从系统中删除旧存储 201
10.5 最佳实践、技巧和技术 201
10.6 本章小结 202
第Ⅳ部分 优化的升级和迁移 205
第11章 数据库升级助手 205
11.1 升级与迁移的比较 206
11.2 升级Grid Infrastructure 206
11.3 安装新的数据库软件 214
11.4 使用数据库升级助手计划升级 214
11.4.1 运行预升级脚本 214
11.4.2 运行数据库升级工具脚本 220
11.5 使用数据库升级助手执行升级 223
11.6 本章小结 228
第12章 从Microsoft SQL Server迁移到Oracle 229
12.1 Oracle GoldenGate的介绍 230
12.1.1 Oracle GoldenGate的用途 230
12.1.2 GoldenGate的工作方式 230
12.1.3 GoldenGate组件 230
12.1.4 GoldenGate工作流程 231
12.2 规划使用GoldenGate执行SQL Server迁移 232
12.3 使用GoldenGate迁移数据库 233
12.3.1 在MS SQL Server和Oracle 11g之上设置GoldenGate 233
12.3.2 配置和验证数据库 234
12.3.3 启动从SQL Server到Oracle 11g的复制工作 235
12.3.4 执行从MS SQL Server到Oracle的初始迁移 237
12.3.5 使源端和目标端保持数据同步 238
12.3.6 监控直到切换 238
12.3.7 执行预切换验证 238
12.3.8 GoldenGate切换过程 239
12.3.9 GoldenGate清理(可选) 239
12.4 本章小结 239
第13章 迁移到Oracle Database 12c 241
13.1 Oracle Database 12c:一个美好的新世界 242
13.2 容器和可插拔数据库入门 242
13.2.1 公共与本地的数据文件的对比 244
13.2.2 公共与本地的表空间和数据文件的对比 246
13.2.3 公共与本地的用户和对象的对比 248
13.2.4 CDB安全:本地与公共的权限和角色的对比 248
13.2.5 CDB数据字典和动态视图 249
13.3 直接升级12c之前版本的数据库到12c CDB 250
13.4 创建一个空的容器数据库 251
13.5 升级12c之前版本的数据库到12c PDB:混合模式的方法 260
13.5.1 通过Oracle GoldenGate升级 260
13.5.2 通过跨平台可传输表空间转换 260
13.5.3 通过可传输表空间集、跨平台传输或完全可传输导出转换 261
13.6 PDB克隆方法 262
13.6.1 场景1:从PDB$SEED克隆一个新的空PDB并将数据传递到它里面 263
13.6.2 场景2:从一个存在的PDB克隆一个新的PDB 270
13.6.3 场景3:拔出并重新插入一个存在的PDB 273
13.6.4 场景4:将一个存在的非容器数据库作为新的PDB插入 279
13.7 本章小结 288
第14章 迁移到Oracle工程系统 289
14.1 工程系统:不是传统意义上的大型机 289
14.1.1 为什么是工程系统 290
14.1.2 Oracle工程系统的简单调查 290
14.2 移动到Exadata DBM 296
14.2.1 Exadata:经验法则 296
14.2.2 I/O资源管理器 298
14.3 将数据库迁移到Exadata环境 304
14.3.1 逻辑迁移方法 304
14.3.2 物理迁移方法 305
14.4 有效处理Exadata的外部数据:Oracle数据库文件系统 310
14.5 本章小结 318
第15章 迁移到云上的Oracle 319
15.1 云计算概述 320
15.1.1 公有云 320
15.1.2 私有云 321
15.1.3 混合云 321
15.1.4 Oracle VM 321
15.2 Oracle云产品 321
15.3 为什么使用云计算 322
15.4 迁移到云计算上的注意事项 322
15.4.1 云安全 322
15.4.2 支持和SLA 323
15.4.3 网络性能和SLA 323
15.4.4 应用定制 323
15.4.5 云计算真实的成本 323
15.4.6 数据访问 324
15.4.7 数据迁移 324
15.5 Oracle VM和云计算 324
15.6 云计算迁移选项 325
15.6.1 迁移规划 326
15.6.2 应用迁移 327
15.6.3 数据同步(复制) 327
15.7 本章小结 328
第Ⅴ部分 最佳实践与提示 331
第16章 总结:建议、提醒和最佳实践 331
16.1 规划一个平稳的迁移 331
16.1.1 迁移方法论 331
16.1.2 选择正确的迁移路径 332
16.1.3 迁移/转换/升级方法 332
16.2 跨平台迁移 332
16.2.1 Data Guard 333
16.2.2 使用恢复管理器(RMAN)迁移 333
16.2.3 跨平台表空间迁移工具 333
16.3 迁移的增强和升级 333
16.3.1 Export/Import 334
16.3.2 使用Oracle GoldenGate实现零或最小停机时间迁移 334
16.3.3 使用增量备份执行跨平台表空间迁移 334
16.3.4 使用ASM迁移到新的存储平台 334
16.4 优化的升级和迁移 335
16.4.1 数据库升级助手 335
16.4.2 从Microsoft SQL Server迁移到Oracle 335
16.4.3 移动到Oracle Database 12c 335
16.4.4 移动到Oracle工程系统 335
16.5 迁移到云上的Oracle以及建议、提醒和最佳实践 336
16.5.1 迁移到云上的Oracle 336
16.5.2 最佳实践总结 336
16.6 最后的话 336