QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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:00765

评论

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

微信朋友圈高性能复杂度分析

Bear

「架构实战营」

六年安卓开发的技术回顾和展望 | 社区征文

拭心

android 程序员人生 shixinzhang 新春征文 2月月更

使用 Cilium 增强 Kubernetes 网络安全

张晓辉

Kubernetes 云原生 ebpf cilium

Linux系统编程-进程创建(fork)、外部程序调用(exec)

DS小龙哥

进程 fork 2月月更

TDengine在TCL空调能源管理平台的实践

TDengine

数据库 大数据 tdengine 物联网

微信朋友圈高性能复杂度分析

浪飞

Redis 在 vivo 推送平台的应用与优化实践

vivo互联网技术

服务器 消息推送 redis'

java培训:MyBatis高级进阶学习分享

@零度

mybatis JAVA开发

微信朋友圈的高性能复杂度分析

凌波微步

「架构实战营」

计算机毕业设计安卓疫苗预约APP源码,后台java springboot

清风

安卓 计算机毕业设计

《MySQL入门很轻松》第3章:数据库的创建与操作

乌龟哥哥

:MySQL 数据库 2月月更

Linux系统编程-进程概念、进程管理、信号处理

DS小龙哥

2月月更

我做基础架构学到的42件事

多颗糖

数据库 架构 架构师 基础架构

大数据存储领导厂商创新科加入,携手龙蜥社区共建开源生态

OpenAnolis小助手

大数据 Linux 开源 云存储

如何用 Python 实现一个单链表

宇宙之一粟

Python 数据结构 单向链表 2月月更

微信朋友圈复杂度分析与设计

刘帅

Kotlin语法手册(二)

寻找生命中的美好

android kotlin 安卓

几种数据库存储引擎比较

乌龟哥哥

:MySQL 数据库 2月月更

微信朋友圈的高性能复杂度分析

石小天

架构实战营

重磅消息·OpenMLDB官方网站 今日正式上线!

第四范式开发者社区

人工智能 机器学习 开源项目 AI Studio 特征平台

Java最简单可靠的线上不停机发布方案

游牧

警惕!Python 中少为人知的 10 个安全陷阱!

Python猫

Python

建木持续集成平台v2.2.2发布

Jianmu

DevOps CI/CD 自动化运维

微信朋友圈的高性能复杂度分析

Leo

架构实战营

架构实战营模块九作业

spark99

架构实战营

「架构实战营」模块二作业 朋友圈复杂度

hxb

「架构实战营」

react源码解析6.legacy模式和concurrent模式

buchila11

React

Spring Cloud Alibaba Nacos路由策略之保护阈值!

王磊

spring cloud alibaba

11个基于HTML/CSS/JS的情人节表白可爱小游戏、小动画

海拥(haiyong.site)

大前端 情人节 表白 2月月更

取代 Mybatis Generator,这款代码生成神器配置更简单,开发效率更高!

沉默王二

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