写点什么

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

评论

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

上班路上也是一道美景

xcbeyond

生活 摄影 摄影征文

学完这篇Spring Cloud技术提升一个点!

Java架构师迁哥

大作业

任小龙

智谱 AI 首席科学家唐杰团队荣获国际数据挖掘顶会时间检验应用科学奖

极客播报

使用Grafana + simpod-json-datasource快速搭建数据看板

诸葛小猿

Grafana 数据可视化 simpod-json-datasource

关于Java Servlet找不到自定义包或者第三方包

谷鱼

classes

TensorFlow 篇 | TensorFlow 2.x 基于 Keras 模型的本地训练与评估

Alex

tensorflow 模型训练 keras

大作业

SuperLab

三步带你开发一个短链接生成平台

葡萄城技术团队

Java SpreadJS Node

架构师训练营笔记2则分布式系统架构和数据结构

tuuezzy

朋友入职阿里请我吃饭,只因为面试前我逼他看了这些,经验很重要

小Q

Java 学习 程序员 架构 面试

鼓励语言区块链技术的应用

CECBC

区块链

Redis做分布式锁可能不那么简单

架构师修行之路

分布式 分布式锁

面试官:讲讲Redis的五大数据类型?如何使用?(内含完整测试源码)

冰河

redis Jedis JedisCluster

二.图说Eureka源码(环境搭建)

阿亮

源码 SpringCloud Eureka

一个草根的日常杂碎(9月23日)

刘新吾

随笔杂谈 生活记录 社会百态

无代码平台,完成业务的最后一公里

蓝黑

JAVA集合之LinkedList底层实现和原理

彭阿三

linkedlist

架构师训练营期末大作业

史慧君

数字货币管理,3 大新模式来了!

CECBC

区块链 数字货币

程序执行太慢?快来学习SIMD加速技术,这个案例下的加速效果我也没想到(附带动手实验)

Optimize-Lab

优化代码 优化技巧 开源社区 simd Go 语言

让世界为之赞叹的开源项目,除了Linux,你知道Git吗?

小Q

Java git 学习 程序员 面试

小朋友都能看懂的 HTTPS

Java架构师迁哥

问世间异步为何物?

架构师修行之路

微服务 异步

实践案例丨ACL2020 KBQA 基于查询图生成回答多跳复杂问题

华为云开发者联盟

搜索 数据集 知识图谱

架构师训练营第二周作业

Geek_4c1353

“哥伦布”华为,与智能联接新大陆

脑极体

甲方日常 22

句子

Vue 工作 随笔杂谈 日常

智能体:华为给时代炼一炉钢

脑极体

换道超车 区块链是你的捷径

CECBC

区块链 互联网

巡展2020第十三届亚洲国际物联网展览会-南京站

InfoQ_caf7dbb9aa8a

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