写点什么

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

  • 2019-11-20
  • 本文字数:2071 字

    阅读完需:约 7 分钟

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云的时候,需要根据数据库的大小、业务允许的停机时间、网络的带宽等多种因素选择我们的迁移方案,每种迁移的具体步骤请参考后续博客。
**作者介绍:**
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/Lan+Yong-mini.jpg)
蓝勇
AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广,在DR解决方案、数据仓库、RDS服务、企业应用、自动化运维等方面有着广泛的设计和实践经验。在加入AWS之前,在甲骨文中国担任资深售前工程师,负责售前方案咨询和架构设计,在数据库,中间件,大数据及企业应用方面有丰富经验。
复制代码


TAGS:


Oracle数据库


,


大咖专栏


,


数据库


,


迁移


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/oracle-database-migration/


2019-11-20 08:00819

评论

发布
暂无评论
发现更多内容

5.2分布式缓存架构:常见的缓存实现形式

张荣召

第一周作业-食堂就餐卡设计

hunk

极客大学架构师训练营

5.4消息队列:如何避免系统故障传递?

张荣召

第一周10/25

张冬冬

总结

架构师训练营第 5 周:技术选型(一)

子青

Week 5 作业01

Croesus

第五周 技术选型 作业一

应鹏

极客大学架构师训练营 课程作业

第五周作业

fmouse

极客大学架构师训练营

week1 学习总结

幸福小子

hash一致性算法

橘子皮嚼着不脆

【架构师训练营第 1 期 05 周】 学习总结

Bear

极客大学架构师训练营

Week_05 作业

golangboy

极客大学架构师训练营

第五周总结

Geek_ac4080

第1周作业-学习总结

jingx

食堂就餐卡系统设计-week1

Mr_No爱学习

第五周 作业1

Yangjing

极客大学架构师训练营

week1作业

幸福小子

5.1分布式缓存架构:架构原理与注意事项

张荣召

食堂就餐卡系统UML设计

架构师

架构师训练营第一周作业-周总结

张浩

AirPods过河,苹果拆桥:被“钞能力”征服的Beats何以至此?

脑极体

学习总结-week1

Mr_No爱学习

第五周作业

Geek_ac4080

架构师训练营第 1 期 - 第 5 周 - 学习总结

wgl

极客大学架构师训练营

架构师训练营第5周作业

wanlinwang

极客大学架构师训练营

架构方法-学习总结笔记

Xuenqlve

架构师训练营 1 期第 5 周:技术选型(一) - 作业

灵霄

极客大学架构师训练营

第五周 作业二

Yangjing

极客大学架构师训练营

5.3分布式缓存架构:一致性hash算法

张荣召

【架构师训练营第 1 期 05 周】 作业

Bear

极客大学架构师训练营

架构师训练营二期 1周总结

月下独酌

极客大学架构师训练营

Oracle数据库迁移到AWS云的方案_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章