写点什么

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

评论

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

Java | this和super关键字【深入理解子类和父类的继承关系】

Fire_Shield

super this 9月月更

IP地址和MAC地址都可以确定目标地址,为什么二者都在使用,舍弃一个是否可行?

阿柠xn

Mac IP 网络 协议族 9月月更

组装式交付-云巧 知多少

六月的雨在InfoQ

9月月更 云巧 组装式交付 云巧资产 云巧工坊

架构实战训练营模块1作业--开启架构之旅

阿姆斯壮

架构实战营 #架构实战营

总览 Java 容器--集合框架的体系结构

钟奕礼

Java 面试 java;

公司用的堡垒机叫什么?多少钱?

行云管家

网络安全 堡垒机 等级保护 过等保

2022届秋招Java岗高频面试题盘点,老司机也未必全会,真的太卷了

钟奕礼

Java 面试 java;

阿里云服务器ECS基本操作指南

六月的雨在InfoQ

阿里云 SSH xshell 云服务器ECS 9月月更

8年经验面试官详解 Java 面试秘诀

钟奕礼

Java 面试 java;

狂刷《Java权威面试指南(阿里版)》,冲击“金九银十”有望了

程序知音

Java 阿里 后端技术 Java面试题 Java面试八股文

LED显示屏价格与品质哪个更重要

Dylan

LED LED显示屏 led显示屏厂家

HTTP - TLS1.3 初次解读

懒时小窝

彻底搞懂nodejs事件循环

coder2028

node.js

【Java深入学习】并发常见方法的注意事项

钟奕礼

Java 面试 java;

EMQ荣获工信部第五届“绽放杯”5G应用征集大赛智慧金融专题一等奖

EMQ映云科技

5G 物联网 IoT 数智化 9月月更

深入剖析nodejs中间件

coder2028

node.js

数据API开发如何快速上手:先了解什么是数据API生命周期管理

雨果

API 数据api

java基础面试题

钟奕礼

编程 java;

Java程序员不得不会的124道面试题(含答案)

钟奕礼

Java 面试 java;

600+ 道 Java面试题及答案整理(建议收藏)

钟奕礼

Java 面试 java; Java 面试题

字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记

钟奕礼

Java 面试 java;

模块一作业

Geek_1264yp

玩转 Flowable 流程实例

江南一点雨

Java springboot workflow flowable

2022第三届云原生编程挑战赛--Serverless VSCode WebIDE使用体验

六月的雨在InfoQ

Serverless 边缘容器 9月月更 Serverless VSCode WebIDE 线上ide

GitHub无抗手!MySQL DBA攻坚指南一出,阿里数据库专家都解脱了

Geek_0c76c3

Java 数据库 开源 程序员 架构

想从事运维岗位应该学习什么技能?谁能告诉一下?

行云管家

运维 网络运维 IT运维

50道Java集合高频面试题,看完面试成功率99%

钟奕礼

Java 面试 java;

Java开发5年,复习1个月成功上岸京东物流,面试和复习思路分享

钟奕礼

Java 面试 java;

为什么大数据工程师比数据科学家的需求更大

雨果

数据工程师

idea 远程开发 client

黄敏

时隔一年多 jQuery 再度发布 3.6.1 新版本,你还在用JQ吗?

茶无味的一天

JavaScript 前端 框架 ​jQuery

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