写点什么

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

评论

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

Elasticsearch可观测最佳实践分享!3分钟带你快速入门!

观测云

elasticsearch

TDSQL演进三部曲

腾讯云数据库

tdsql #数据库

让GitHub炸锅的深入理解MySQL实战手册,竟出自阿里云“藏经阁”

Java~~~

Java MySQL 数据库 架构 面试

GitHub上火了这份堪称神级的SpringBoot手册,竟出自滴滴之手

Java~~~

Java spring 架构 面试 Spring Boot

GitHub经典教材!阿里P8的这份SpringBoot精髓到底厉害在哪里?

Java~~~

Java 架构 面试 微服务 Spring Boot

33张图解析ReentrantReadWriteLock源码

程序猿阿星

源码分析 读写锁 ReentrantReadWriteLock 源码解读

Java多线程:从基本概念到避坑指南

Java 架构 后端 JVM 计算机

分布式消息流平台:不要只想着Kafka,还有Pulsar

华为云开发者联盟

kafka 云原生 pulsar 消息 分布式消息流平台

TDSQL云时代,我们需要怎样的数据库?

腾讯云数据库

数据库 tdsql

滴滴最看重的SpringCloud手册曾被疯狂转载,现在学还有用吗?

Java~~~

Java 架构 面试 微服务 Spring Cloud

Alibaba内部的10w字Java高频面试手册遭人恶意在牛客网开源下载?

Java~~~

Java 架构 面试 JVM 多线程

实时消息RTM| 多活架构中的数据一致性问题

anyRTC开发者

音视频 WebRTC 数据一致性 实时消息 数据容灾

求阿里大神整理的分布式核心笔记出炉了,GitHub刚发布就标星85k

Java~~~

Java 负载均衡 架构 面试 分布式

Alibaba新产!Spring+SpringBoot+SpringCloud全家桶进阶小册

Java~~~

Java spring 架构 面试 Spring Boot

不吹不黑!阿里新产微服务架构进阶笔记我粉了!理论实战齐飞

Java 程序员 架构 面试 微服务

自主研发数据库TDSQL和TBase核心架构揭秘和实践

腾讯云数据库

数据库 tdsql

腾讯云TDSQL:真正面向金融行业的典型场景

腾讯云数据库

数据库 tdsql

腾讯云数据库TDSQL:分布式数据库,你真的了解吗?

腾讯云数据库

数据库 tdsql

如何实现 Android 短视频跨页面的流畅续播?

阿里云CloudImagine

android App 音视频 Video播放器 APP开发

三顾茅庐,七面阿里,25k*16offer,还原我的大厂面经

Java 程序员 面试 后端 计算机

从动物科学到乐队鼓手,腾讯技术小哥的开源人生

腾源会

腾讯云 开源

腾讯云TDSQL,从数据库巨人身上撕开一道口子

腾讯云数据库

数据库 tdsql

实战 实时物体检测YOLOv3 CNN卷积神经网络John 易筋 ARTS 打卡 Week 63

John(易筋)

ARTS 打卡计划

出自清华大神之手的JVM实战手册,刚上架GitHub点赞就达到85k

Java~~~

Java 架构 面试 JVM 多线程

有人在恶意提权吗?

BUG侦探

Linux 主机安全 提权

一文详述如何卸载SQL Server 2019及其 DBMS

Regan Yue

数据库 SQL语言 9月日更

Github星标百万!终于有人将Spring技术精髓收录成册

Java 编程 程序员 架构 面试

在FL Studio中如何使用混音器的效果

懒得勤快

爆赞!GitHub上首本IntelliJ IDEA操作手册,标星果然百万名不虚传

Java~~~

Java 架构 面试 IDEA 架构师

在职字节师兄分享出了这份数据结构手册,LeetCode现已开放下载

Java~~~

Java 架构 面试 算法 刷题

实用?HUAWEI高工总结出15W字的图解计算机操作系统指南手册

Java~~~

Java 架构 面试 TCP 网络协议

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