Oracle 数据库迁移到 AWS 云的方案

阅读数:16 2019 年 11 月 20 日 08:00

Oracle数据库迁移到AWS云的方案
当前云已经成为常态,越来越多的企业希望使用云来增加基础设施的弹性、减轻基础设施的维护压力,运维的成本等。很多企业使用云碰到的难题之一是如何将现有的应用迁移到云上,将现有应用的中间件系统、Web 系统及其他组件迁移到云上相对容易,一般只需要重新部署或复制即可,但如何将数据库迁移到 AWS 云中,是很多企业需要面对的一个难题。由于数据库的种类繁多,本文将以 Oracle 数据库为例,介绍将数据中心的 Oracle 迁移到云中的基本知识,不同方法涉及的迁移过程,请参考后续的博客。
复制代码
#### 1. 云中数据库的模式
如果要在云中使用 Oracle 数据库,有两种选择:
* EC2 服务器模式
使用 AWS 的 EC2 服务器,在 EC2 服务器上手工安装 Oracle 数据库软件,用户需要自己准备 Oracle 的 License,这和用户自己在机房安装 Oracle 数据库类似。如果在中国以外的区域,用户也可以使用 AWS Marketplace 里面的不同版本的 Oracle 镜像,直接初始化 Oracle 数据库,这种情况你也需要自己准备 Oracle 的 License。
* RDS 模式
Amazon Relational Database Service (Amazon RDS) 是一种 AWS 提供的 Web 服务, 可以让我们更轻松地在云中设置、 操作和扩展关系数据库,减少管理关系型数据库复杂的管理任务。RDS 包括了 Oracel、SQL Server、My SQL, 等多种数据库引擎,你可以根据需要选择数据库的类型。
根据我们使用模式的不同,能选择的迁移方式也不同。
#### 2. 逻辑迁移和物理迁移
数据库的迁移可以分为逻辑迁移和物理迁移两种方式:
* 逻辑迁移
逻辑迁移一般只是迁移数据库表、视图及其它数据库对象,不要求源库和目标库在底层的存储及表空间完全一致。逻辑迁移适用于 EC2 服务器模式和 RDS 模式。
逻辑迁移一般使用 Dump/Load+Log Apply 的方式,使用 Dump 工具将数据库对象从源数据库导出,然后 Load 到目标数据库,最后根据需要同步数据库日志。
* 物理迁移
物理迁移可以让迁移的源库和目标库在底层的存储文件、存储介质、表空间、用户等信息完全一致。物理迁移适用于 EC2 服务器模式。
物理迁移 (Oracle) 一般是使用 RMan 等物理备份 +Log Apply 的方式,使用 RMan 等工具备份数据库,然后在目标系统还原数据库,最后根据需要同步日志。
#### 3. 日志同步
在迁移数据库过程中,如果我们的业务有足够停机时间,可以将源数据库设置成只读数据库,然后使用 Dump/Load 或者备份 / 还原的方式来创建目标库。因为源库是只读的,迁移过程中源库不会发生变化,因此只需要根据源库数据创建目标库,无需日志的同步。
在迁移数据库过程中,如果我们的业务没有足够的停机时间,此时除了要使用 Dump/Load 或备份还原的方式迁移已有数据,还需要将迁移过程中变化的数据同步到目标数据库,此时需要日志同步的工具。
4.Oracle 数据库同步的方法
将 Oracle 数据库迁移到 AWS 云中主要有下面几种方法:
迁移 Oracle 数据库有多种方式,本文主要介绍以下五种,这五种方式都是逻辑迁移:
1)使用 AWS DMS 服务迁移
AWS 在中国以外的区域提供了数据库迁移 DMS 服务,支持同构和异构数据库间的迁移,也支持日志的同步。在中国区可以使用 AWS 提供的 DMT(Database Migration Tool) 工具完成同构或异构数据库间的迁移。
DMS 适合于迁移中小型的数据库。
2)使用 Oracle SQL Developer 迁移
Oracle 提供的 SQL Developer 工具里面提供了迁移功能,适合于迁移数据较少的数据库。SQL Developer 可以在 Oracle 的官网里免费下载。
3)使用 Oracle Data Pump 迁移
使用 Oracle Data Pump 工具将数据库导出,复制数据到目标平台,最后使用 Data Pump 将数据导入到目标数据库。数据量较大或数据少的库都可以使用这种方式。
4)使用 Oracle Export/Import 迁移
这种方式和 Oracle Data Pump 方式类似,需要使用 Oracle 导入 / 导出实用工具。
5)使用 Oracle SQL Loader 迁移
使用 Oracle SQL Loader 的方式可以让数据导入的过程更快、效率更高。
#### 5. 日志同步的方法
如果要实现不停机的迁移,就需要使用日志同步的工具,Oracle 数据库支持多种不同的工具同步日志:
* DMS 同步日志
AWS 的 DMS 服务有同步日志的选项,可以使用 DMS 来同步日志。
* GoldenGate 工具
可以使用 Oracle 的 GoldenGate 工具,支持同步日志到 EC2 上的 Oracle 服务器和 RDS 数据库。
* 其它第三方日志复制工具
根据数据库的使用情况,我们也可以尝试其他第三方的同步工具,如 SharePlex 等。
#### 6. 总结
我们在将数据库从数据中心迁移到 AWS 云的时候,需要根据数据库的大小、业务允许的停机时间、网络的带宽等多种因素选择我们的迁移方案,每种迁移的具体步骤请参考后续博客。
** 作者介绍:**
!
蓝勇
AWS 解决方案架构师,负责基于 AWS 的云计算方案架构的咨询和设计,同时致力于 AWS 云服务在国内的应用和推广,在 DR 解决方案、数据仓库、RDS 服务、企业应用、自动化运维等方面有着广泛的设计和实践经验。在加入 AWS 之前,在甲骨文中国担任资深售前工程师,负责售前方案咨询和架构设计,在数据库,中间件,大数据及企业应用方面有丰富经验。

本文转载自 AWS 技术博客。

原文链接:
https://amazonaws-china.com/cn/blogs/china/oracle-database-migration/

欲了解 AWS 的更多信息,请访问【AWS 技术专区】

评论

发布