写点什么

使用 AWS 的数据库迁移 DMS 服务

2019 年 11 月 20 日

使用AWS的数据库迁移DMS服务
前面博客《Oracle数据库迁移到AWS云的方案》介绍了AWS数据库迁移的几种基本方法,本文主要介绍如何使用AWS的DMS服务完成数据库的迁移。


### 1.DMS服务介绍
为了使用户更容易的将数据库迁移到云中,AWS已经在海外区域推出了AWS Database Migration Service服务,如果您的数据库在海外,DMS可以在源数据库不停机的情况下,帮您将数据迁移到AWS云中。DMS的功能非常强大,支持同构数据库的迁移(如Oracle迁移到Oracle),也支持异构数据库直接的迁移,如Oracle到Mysql等)。在数据库迁移期间,源数据库无需停机,并且能将迁移期间数据的更改持续复制到目标数据库。因此迁移完成后,您只需在短暂的停机时间内直接切换数据库,从而保证业务数据的完整性。 在中国BJS区域,还没有推出DMS服务,但是提供了Database Migration Tool(DMT)工具,您可以使用DMT工具来完成数据库迁移。
### 2.使用DMS完成迁移
使用DMS服务必须确保源或目标数据库有一个在AWS云中。 使用DMS服务的步骤如下:
**步骤一:Create migration**
登陆AWS全球区域的Console,选择DMS,点击“Create migration”,我们便来到了“welcome”界面,从该界面我们可以看到,通过DMS进行数据迁移我们至少需要一个源数据库、目标数据库和复制实例。当然,DMS 也支持多个源数据库向一个目标数据库的迁移以及单个源数据库向多个目标数据库的迁移。迁移时,数据通过一个运行在复制实例上的任务将源数据库复制到目标数据库。点击“Next”进行复制实例的创建。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-1.png)
**步骤二:创建“Replication Instance”**
您在进行数据库迁移过程中的第一个任务是创建具有足够存储空间和处理能力的复制实例,通过复制实例来执行您分配的任务并将数据从您的源数据库迁移到目标数据库。此实例所需的大小取决于您要迁移的数据和您需要执行的任务量。具体配置参数见下表1。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-2.PNG)
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-3.png)
如果您需要为网络和加密设置值,请选择高级选项卡。具体参数见表2。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-4.PNG)
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-5.jpg)
**步骤三:创建数据库连接**
当您在创建复制实例时,您可以指定源和目标数据库。源数据库和目标数据库可以在AWS的EC2上,也可以是AWS的关系数据库服务(RDS)的DB实例或者本地数据库。在设置源和目标数据库时, 具体参数可以参见表3。您也可以通过高级选项卡来设置连接字符串和加密密钥的值。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-6.PNG)
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-7.png)
等图示上部分的显示变成”Replication instance created successfully”并且“Run test“按钮变成正常,然后测试,确保测试结果为”Connection tested Successfully”,由于需要从AWS服务端连接测试数据库,因此需要设置好security group,设置的security group必须确保复制实例能够访问源和目标数据库。需要的话,可以短暂的将security group 1521 的访问设置为 0.0.0.0/0,测试成功后,点击”Next”按钮。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-8.png)
#### 步骤四:创建“task”
当源数据库和目标数据库建立连接后,您需要创建一个任务来指定哪些表需要迁移,使用目标架构来映射数据并且在目标数据库中创建新表。作为创建任务的一部分,您可以选择迁移类型:迁移现有数据、迁移现有数据并复制正在进行的更改,或只复制更改的数据。
如果选择”Migrate existing data and replicate data changes”选项需要打开Task Settings 中的supplemental loging开关。在Table Mapping中Schema to Migrate选择“Oracle”,点击“Create Task”。
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-9.png)
当您创建的task状态从creating变为ready的时候,您的task便创建好了。点击该“task”并点击上方的“Start/Resume”,您数据迁移任务便开始了!
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/0928-10.png)
数据库迁移完成后,目标数据库在您选择的时间段内仍会与源数据库保持同步,使您能够在方便的时候切换数据库。
### 3.总结
从上面过程我们可以看到,只需要简单的配置,DMS就可以帮助我们完成数据库的迁移任务,并且DMS服务是免费的,迁移过程中用到的资源是收费的。
**作者介绍:**
![](https://s3.cn-north-1.amazonaws.com.cn/images-bjs/Lan+Yong-mini.jpg)
蓝勇
AWS解决方案架构师,负责基于AWS的云计算方案架构的咨询和设计,同时致力于AWS云服务在国内的应用和推广,在DR解决方案、数据仓库、RDS服务、企业应用、自动化运维等方面有着广泛的设计和实践经验。在加入AWS之前,在甲骨文中国担任资深售前工程师,负责售前方案咨询和架构设计,在数据库,中间件,大数据及企业应用方面有丰富经验。
复制代码


TAGS:


AWS Database Migration Service


,


大咖专栏


,


数据库


,


迁移


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/migrating-dms/


2019 年 11 月 20 日 08:00155

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

评论

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

Go: 理解 Sync.Pool 的设计

陈思敏捷

go golang sync sync.pool pool

HashMap将cpu打满始末

林昱榕

hashmap 线程安全 cpu 100% cpu飙满

我理解的面向对象(ObjectiveSql 实践)

Braisdom

Java ORM框架 ORM

计算机的时钟(三):向量时钟

ElvinYang

重新学习了一遍ThreadLocal

熊斌

学习

为什么每个微服务要有自己独立的数据库?

码猿外

数据库 架构 微服务

我们该怎么保护手机屏幕前的父母?

徐说科技

手机 短视频

【高并发】面试官:讲讲什么是缓存穿透?击穿?雪崩?如何解决?

冰河

缓存 面试 穿透 击穿 雪崩

区块链激励层——区块链生态建设的驱动力量

CECBC区块链专委会

区块链技术 驱动力量

Spring Security 主要类解释

哈库拉玛塔塔

springsecurity

spark总结

一文带你了解微服务架构和设计(多图)

Phoenix

架构 分布式 微服务

week11--作业

Geek_165f3d

从一段 Dubbo 源码到 CPU 分支预测的一次探险之旅

yes的练级攻略

dubbo cpu

企业中台化落地:从战略分析到战术实践及架构演进过程

Barry的异想世界

架构设计 策略模式 模板方法模式 中台架构 领域驱动设计DDD

浮点数的秘密

C语言与CPP编程

c c++ 编程语言 浮点数

CString 类的线程不安全问题

C语言与CPP编程

c c++ 编程语言

第五周作业

Vincent

极客时间 极客大学

布式系统消息异常该何去何从

架构师修行之路

分布式 异步

SpringCloud轻松集成Dubbo实现RPC调用

Barry的异想世界

微服务 dubbo nacos RPC spring cloud alibaba

认证、授权、鉴权和权限控制

哈库拉玛塔塔

spring security 用户权限 鉴权 权限

LeetCode 169. Majority Element

liu_liu

算法 LeetCo

区块链应用层——生态体系的上层建筑

CECBC区块链专委会

区块链技术 生态体系

以大数据为依托提升基层治理效能

CECBC区块链专委会

大数据 信息化管理

华为与第四范式,正在酝酿一个帮企业跳出AI悖论的“秘密计划”

脑极体

不使用Raft算法,就能简单做集群leader选举

架构师修行之路

分布式 架构师

oeasy教您玩转 linux 010212 管道 pipe

o

金沙账号审核不通过维护不给提现风控怎么回事?怎么办

过山太阳

内容审核 提现不了

记录问题 INSERT INTO table ... SELECT ... FROM dual WHERE not exists (...)问题

浅^安

sql SQL语法 sql查询

架构师训练营第十四周总结

张明森

Golang领域模型-实体

奔奔奔跑

go 架构 领域驱动设计 DDD 微服务拆分

演讲经验交流会|ArchSummit 上海站

演讲经验交流会|ArchSummit 上海站

使用AWS的数据库迁移DMS服务-InfoQ