本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用从 Oracle 迁移到亚马逊 DocumentDB AWS DMS
由 Sashikanta Pattanayak () 和 Munesh Siddappa () AWS 创作 AWS
环境:PoC 或试点 | 源:数据库:关系 | 目标:Amazon DocumentDB |
R 类型:重构 | 工作负载:Oracle | 技术:迁移;数据库 |
AWS服务:亚马逊 DocumentDB |
Summary
此模式为使用数据库迁移服务 AWS () 将 Oracle 数据库迁移到 Amazon DocumentDB(兼容 MongoDB)数据库提供了指导。AWS DMS这种方法可以应用于本地 Oracle 源数据库以及适用于 Oracle 数据库实例的 Amazon Relational Database Service (AmazonRDS)。此模式以 Amazon RDS Oracle 数据库源实例为例。
Amazon DocumentDB(兼容 MongoDB)是一项完全托管、兼容 MongoDB 的文档数据库服务,可轻松存储、查询和索引数据。JSON
这种模式的用例是将 Oracle 数据库表 one-to-one复制到 Amazon DocumentDB 集合。该模式使用AWSDMS复制任务来读取 Oracle 数据库的表结构,在 Amazon DocumentDB 中创建相应的集合,然后执行满负荷迁移。您可在 Amazon DocumentDB 中查看和查询您的数据,就像在 MongoDB 中一样。
先决条件和限制
先决条件
一个活跃的AWS账户
熟悉 Oracle 数据库的使用
熟悉使用 Amazon DocumentDB
对于 Oracle 用户,
SELECT ANY TABLE
权限若要使用 Amazon DocumentDB,则需要转储数据所需权限
限制
使用亚马逊 DocumentDB 作为目标时,以下限制适用:AWSDMS
在 Amazon DocumentDB 中,集合名称不能包含美元符号($)。此外,数据库名称不能包含任何 Unicode 字符。
AWSDMS不支持将多个源表合并为一个 Amazon DocumentDB 集合。
当AWSDMS处理来自没有主键的源表更改时,该表中的任何大型二进制对象 (LOB) 列都将被忽略。
如果启用更改表选项并AWSDMS遇到名为 “_id” 的源列,则该列在变更表中显示为 “__id”(两个下划线)。
如果选择 Oracle 作为源端点,则 Oracle 源必须启用完整补充日志记录。否则,如果源位置有未更改的列,则数据将作为空值加载到 Amazon DocumentDB。
产品版本
RDS适用于 Oracle 的 Amazon 版本 11.2.0.3 或更高版本
AWSDMS版本 3.1.3 或更高版本(有关最新版本信息,请参阅文档中的AWSDMS使用亚马逊 DocumentDB 作为目标 AWS DMS)
架构
源技术堆栈
RDS适用于 Oracle 的亚马逊数据库实例
目标技术堆栈
Amazon DocumentDB
源架构和目标架构
工具
AWSDMS— AWSDatabase Migration Service (AWSDMS) 是一项 Web 服务,可用于将数据从源数据存储迁移到目标数据存储。《AWSDMS用户指南》指定了支持与一起使用的 Oracle 源数据库版本和版本AWSDMS。有关此模式的其他信息,请参阅使用亚马逊 DocumentDB 作为目标。AWS DMS
亚马逊 EC2 — 亚马逊弹性计算云 (AmazonEC2) 在AWS云中提供可扩展的计算容量。您的 Amazon DocumentDB 集群应在您的默认虚拟私有云中运行 () VPC。要与您的 Amazon DocumentDB 集群进行交互,您必须在创建亚马逊 DocumentDB 集群时所在的默认VPCAWS区域启动一个EC2实例。有关详情,请参阅亚马逊 DocumentDB 文档中的启动亚马逊EC2实例。
操作说明
任务 | 描述 | 所需技能 |
---|---|---|
验证源数据库和目标数据库的版本和引擎。 | AWS管理员 | |
选择适当的实例类型(容量、存储功能、网络功能)。 | AWS管理员 | |
确定源数据库和目标数据库的网络/主机访问安全要求。 | AWS管理员 | |
为源数据库和目标数据库创建出站安全组。 | AWS管理员 | |
为亚马逊文档数据库创建和配置EC2实例。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建VPC和子网。 | AWS管理员 | |
创建安全组和网络访问控制列表 (ACLs)。 | AWS管理员 | |
配置并启动源 Amazon f RDS or Oracle 实例。 | AWS管理员 | |
配置并启动 Amazon DocumentDB 实例。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
使用连接详细信息验证 Oracle 数据库是否可连接。 | AWS管理员 | |
验证 Oracle 用户是否具有该SELECTANYTABLE权限。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
通过选择正确的实例类和实例数量创建 Amazon DocumentDB 集群。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
配置实EC2例。 | 要与您的 Amazon DocumentDB 集群进行交互,您必须在创建亚马逊 DocumentDB 集群时所在的默认VPCAWS区域启动一个EC2实例。为EC2实例配置AWS区域VPCs、可用区和子网。 | AWS管理员 |
配置密钥对。 | 公钥/私钥对(public/Private key pair)允许您在EC2实例启动后安全地连接到该实例。 | AWS管理员 |
设置堡垒主机CIDR范围(可选)。 | 设置允许外部安全外壳 (SSH) 访问堡垒主机实例的 CIDR IP 范围。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
创建AWSDMS复制实例。 | AWS管理员 | |
创建源和目标端点。 | AWS管理员 | |
为满负荷创建AWSDMS复制任务。 | AWS管理员 |
任务 | 描述 | 所需技能 |
---|---|---|
通过该实例连接到亚马逊文档数据库集群。EC2 | AWS管理员 | |
使用 mongo shell 连接到集群。 | 有关说明,请参阅参考和帮助部分中的 Amazon DocumentDB 链接。 | AWS管理员 |
验证迁移结果。 | AWS管理员 |