本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用和从 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数据验证工具来验证数据。
先决条件和限制
先决条件
一个活跃的AWS账户
本地数据中心中的源 Oracle 8i 或 9i 数据库
AWS在本地数据中心和之间配置的 Direct Connect AWS
安装在本地计算机或安装EC2实例上的AWSSCT连接器的 Java 数据库连接 (JDBC) 驱动程序 AWS SCT
熟悉 Quest SharePlex 数据复制
限制
数据库大小限制为 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
源架构和目标架构
工具
AWSDMS— AWSDatabase Migration Servic e (AWSDMS) 可帮助您快速安全地迁移数据库。源数据库可在迁移过程中保持全面运行,从而最大程度地为依赖该数据库的应用程序减少停机时间。AWSDMS可以将您的数据迁入和迁出最广泛使用的商业和开源数据库。
AWSSCT— AWSSchema 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 |