使用和从 Oracle 8i 或 9i 迁移到RDS适用于 Post SQL gre 的亚马逊 SharePlex AWS DMS - AWS Prescriptive Guidance

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用和从 Oracle 8i 或 9i 迁移到RDS适用于 Post SQL gre 的亚马逊 SharePlex AWS DMS

由 Kumar Babu 创作 P G () AWS

环境:PoC 或试点

源:数据库:关系

目标:Postgre 版RDS的亚马逊 SQL /亚马逊 Aurora Postgre SQL

R 类型:重构

工作负载:Oracle

技术:迁移;数据库

AWS服务:亚马逊RDS;亚马逊 Aurora

Summary

此模式描述了如何将本地 Oracle 8i 或 9i 数据库迁移到适用于 Postgre 或 Amazon Aurora Postgre 的亚马逊关系数据库服务RDS(亚马逊)或亚马逊 A SQL urora Postgre。SQLAWSDatabase Migration Service (AWSDMS) 不支持 Oracle 8i 或 9i 作为源,因此 Quest SharePlex 会将数据从本地 8i 或 9i 数据库复制到与兼容的中间 Oracle 数据库(Oracle 10g 或 11g)。AWS DMS

使用AWS架构转换工具 (AWSSCT) 和,将架构和数据从中间 Oracle 实例迁移到 Postgre SQL 数据库。AWS AWS DMS此方法有助于将数据从源 Oracle 数据库持续流式传输到目标 Postgre SQL 数据库实例,同时最大限度地减少复制延迟。在此实现中,停机时间仅限于在目标 Postgre SQL 数据库上创建或验证所有外键、触发器和序列所花费的时间长度。

迁移使用安装了 Oracle 10g 或 11g 的亚马逊弹性计算云 (AmazonEC2) 实例来托管来自源 Oracle 数据库的更改。AWSDMS使用这个中间的 Oracle 实例作为源,将数据流式传输到亚马逊 RDS Postgre SQL 或 Aurora Postgre。SQL可以暂停和恢复从本地 Oracle 数据库到中间 Oracle 实例的数据复制。也可以将其从中间 Oracle 实例暂停并恢复到目标 Postgre SQL 数据库,因此您可以使用数据验证或自定义AWSDMS数据验证工具来验证数据。

先决条件和限制

先决条件

限制

  • 数据库大小限制为 64 TB

  • 本地 Oracle 数据库必须为 Enterprise Edition

产品版本

  • 作为源数据库的 Oracle 8i 或 9i

  • 作为中间数据库的 Oracle 10g 或 11g

  • Postgre SQL 9.6 或更高版本

架构

源技术堆栈

  • Oracle 8i 或 9i 数据库 

  • 任务 SharePlex 

目标技术堆栈

  • 亚马逊版 P RDS ostgre SQL 或 Aurora Postgre SQL

源架构和目标架构

Database migration architecture from on-premises Oracle to AWS RDS or Aurora using AWS 服务.

工具

  • AWSDMSAWSDatabase Migration Servic e (AWSDMS) 可帮助您快速安全地迁移数据库。源数据库可在迁移过程中保持全面运行,从而最大程度地为依赖该数据库的应用程序减少停机时间。AWSDMS可以将您的数据迁入和迁出最广泛使用的商业和开源数据库。 

  • AWSSCTAWSSchema Conversion Tool (AWSSCT) 通过自动将源数据库架构和大部分数据库代码对象(包括视图、存储过程和函数)转换为与目标数据库兼容的格式,使异构数据库迁移变得可预测。任何无法自动转换的对象都会被明确标记,以便可以手动转换它们以完成迁移。AWSSCT还可以扫描应用程序源代码中的嵌入式SQL语句,并将其作为数据库架构转换项目的一部分进行转换。在此过程中,通过将传统的 Oracle 和 SQL Server 函数转换为AWS等效函数来AWSSCT执行云原生代码优化,以帮助您在迁移数据库的同时实现应用程序现代化。架构转换完成后,AWSSCT可以使用内置的数据迁移代理帮助将数据从一系列数据仓库迁移到 Amazon Redshift。

  • Ques t SharePlex — Quest SharePlex 是一款 Oracle-to-Oracle数据复制工具,用于在最短的停机时间内移动数据,并且不会丢失任何数据。

操作说明

任务描述所需技能
为 Amazon 设置网络EC2。

创建虚拟私有云 (VPC)、子网、互联网网关、路由表和安全组。

AWS SysAdmin
创建新EC2实例。

为EC2实例选择 Amazon 系统映像 (AMI)。选择实例大小并配置实例详细信息:实例数量 (1)、上一步中的VPC和子网、自动分配公有 IP 以及其他选项。添加存储、配置安全组并启动实例。出现提示时,创建并保存密钥对,以供下一步使用。

AWS SysAdmin
在EC2实例上安装 Oracle。

获取许可证和所需的 Oracle 二进制文件,然后在实例上安装 Oracle 10g 或 11g。EC2

DBA
任务描述所需技能
设置 SharePlex。

创建亚马逊EC2实例并安装与 Oracle 8i 或 9i 兼容的 SharePlex 二进制文件。

AWS SysAdmin, DBA
配置数据复制。

按照 SharePlex 最佳实践配置从本地 Oracle 8i/9i 数据库到 Oracle 10g/11g 实例的数据复制。

DBA
任务描述所需技能
设置AWSSCT。

创建新报告,然后连接到 Oracle 作为源报告,将 Postgre SQL 作为目标。在项目设置中,打开 “SQL脚本” 选项卡,将目标SQL脚本更改为 “多个文件”。

DBA
转换 Oracle 数据库架构。

在 “操作” 选项卡中,选择 “生成报告”、“转换架构”,然后选择 “另存为” SQL。

DBA
修改生成的SQL脚本AWSSCT。DBA
任务描述所需技能
创建 Amazon RDS 数据库实例。

在亚马逊RDS控制台中,创建一个新的 Postgre SQL 数据库实例。

AWS SysAdmin, DBA
配置数据库实例。

指定数据库引擎版本、数据库实例类、多可用区部署、存储类型和分配的存储空间。输入数据库实例标识符、主用户名和主密码。

AWS SysAdmin, DBA
配置网络和安全。

指定VPC、子网组、公共可访问性、可用区首选项和安全组。

AWS SysAdmin, DBA
配置数据库选项。

指定数据库名称、端口、参数组、加密和主密钥。

AWS SysAdmin, DBA
配置备份。

指定备份保留期、备份窗口、开始时间、持续时间以及是否将标签复制到快照。

AWS SysAdmin, DBA
配置监控选项。

启用或禁用增强的监控和性能洞察。

AWS SysAdmin, DBA
配置维护选项。

指定次要版本自动升级、维护窗口以及开始日期、时间和持续时间。

AWS SysAdmin, DBA
从中运行迁移前脚本。AWS SCT

在亚马逊RDS实例上,运行以下脚本:create_database.sql、create_sequence.sql、create_table.sql、create_view.sql 和 create_function.sql

AWS SysAdmin, DBA
任务描述所需技能
在中创建复制实例AWSDMS。

填写名称、实例类别VPC(与实例相同)、多可用区和公共可访问性字段。EC2在高级配置部分,指定分配的存储、子网组、可用区、VPC安全组和AWS密钥管理服务 (AWSKMS) 根密钥。

AWS SysAdmin, DBA
创建源数据库端点。

指定终端节点名称、类型、源引擎 (Oracle)、服务器名称(Amazon EC2 私DNS有名称)、端口、SSL模式、用户名SID、密码、、VPC(指定具有复制实例的)和复制实例。VPC要测试连接,请选择运行测试,然后创建端点。您还可以配置以下高级设置: maxFileSize 和 Sc numberDataType ale。

AWS SysAdmin, DBA
创建AWSDMS复制任务。

指定任务名称、复制实例、源端点和目标端点以及复制实例。对于迁移类型,选择迁移现有数据并复制持续更改。清除创建时启动任务复选框。

AWS SysAdmin, DBA
配置AWSDMS复制任务设置。

对于目标表格准备模式,请选择什么都不做。完全加载完成后停止任务(创建主键)。指定受限模式或完全LOB模式,并启用控制表。或者,您可以配置 CommitRate 高级设置。

DBA
配置表映射。

在表映射部分,为迁移中包含的所有架构中的所有表创建包含规则,然后创建排除规则。添加三个转换规则,将架构、表和列名转换为小写,并添加此特定迁移所需任何其他规则。

DBA
启动任务。

启动复制任务。确保全负载正在运行。ALTERSYSTEMSWITCHLOGFILE在 Oracle 主数据库上运行以启动任务。

DBA
从中运行迁移中期脚本。AWS SCT

在 Amazon RDS for Postgre 中SQL,运行以下脚本:create_index.sql 和 create_constraint.sql。

DBA
重新启动任务以继续更改数据捕获(CDC)。

在 Amazon RDS for Postgre SQL 数据库实例中VACUUM,运行并重启AWSDMS任务以应用缓存的CDC更改。

DBA
任务描述所需技能
检查AWSDMS日志和元数据表。

验证所有错误,并在需要时进行修复。

DBA
停止所有 Oracle 依赖项。

关闭 Oracle 数据库上的监听器并运行ALTERSYSTEMSWITCHLOGFILE。当AWSDMS任务没有显示任何活动时将其停止。

DBA
从中运行迁移后脚本。AWS SCT

在 Amazon RDS for Postgre 中SQL,运行以下脚本:create_foreign_key_constraint.sql 和 create_triggers.sql。

DBA
完成 Amazon for P RDS ostgre 的所有其他SQL步骤。

如果需要,可以增量序列以匹配 OracleANALYZE,运行VACUUM并拍摄快照以确保合规性。

DBA
为 Postgr SQL e 打开与亚马逊RDS的连接。

从 Amazon for P RDS ostgre 中移除安全组SQL,添加生产安全组,并将您的应用程序指向新数据库。AWS DMS

DBA
清理AWSDMS资源。

移除终端节点、复制任务、复制实例和EC2实例。

SysAdmin, DBA

相关资源