使用 Oracle Developer 和,逐步从RDS适用于 Oracle RDS 的亚马逊迁移到 Postgr SQL SQL e 版的亚马逊 AWS SCT - AWS Prescriptive Guidance

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

使用 Oracle Developer 和,逐步从RDS适用于 Oracle RDS 的亚马逊迁移到 Postgr SQL SQL e 版的亚马逊 AWS SCT

由 Pinesh Singal 创作 () AWS

摘要

许多迁移策略和方法都分为多个阶段,可能持续几周到几个月不等。在此期间,由于要迁移到 Post SQL gre 数据库实例的源 Oracle 数据库实例正在进行修补或升级,您可能会遇到延迟。为避免这种情况,我们建议您将剩余的 Oracle 数据库代码逐步迁移到 Postgre SQL 数据库代码。

这种模式为在初始迁移后执行了大量事务且必须迁移到 Postgre 数据库的多 TB 的 Oracle 数据库实例提供了一种不停机的增量迁移策略。SQL您可以使用这种模式的 step-by-step方法将适用于 Oracle 的亚马逊关系数据库服务 (AmazonRDS) 数据库实例逐步迁移到 Amazon RDS for Postgre SQL 数据库实例,而无需登录亚马逊网络服务 (AWS) 管理控制台。

该模式使用 Oracle SQL 开发人员来查找源 Oracle 数据库中两个架构之间的差异。然后,您可以使用 AWS Schema Conversion Tool (AWSSCT) 将 Amazon fo RDS r Oracle 数据库架构对象转换为 Amazon fo RDS r Postgre SQL 数据库架构对象。然后,您可以在 Windows 命令提示符中运行 Python 脚本,为源数据库AWSSCT对象的增量更改创建对象。

注意

在迁移生产工作负载之前,我们建议您在测试或非生产环境中针对此模式的方法运行概念验证 (PoC)。

先决条件和限制

先决条件

  • 一个活动的 AWS 账户。

  • 现有的 Amazon f RDS or Oracle 数据库实例。 

  • 现有的 Amazon f RDS or Postgre SQL 数据库实例。

  • AWSSCT,已安装并配置了适用于 Oracle 和 Postgre SQL 数据库引擎的JDBC驱动程序。有关这方面的更多信息,请参阅AWSSCT文档中的安装AWSSCT和安装所需的数据库驱动程序。 

  • Oracle SQL 开发人员,已安装并配置。有关这方面的更多信息,请参阅 Oracle SQL 开发人员文档。 

  • 将(附件)incremental-migration-sct-sql.zip 文件下载到本地计算机中。

限制

  • 您的源 Amazon RDS for Oracle 数据库实例的最低要求是:

    • Oracle 10.2 和更高版本(对于版本 10.x)、11g(版本 11.2.0.3.v1 和更高版本)直至 12.2 以及 18c 版本(Enterprise、Standard、Standard One 和 Standard Two 版)。

  • 您的目标 Amazon RDS for Postgre SQL 数据库实例的最低要求是: 

    • Postgre SQL 版本 9.4 及更高版本(适用于版本 9.x)、10.x 和 11.x

  • 此模式使用 Oracle SQL 开发人员。如果您使用其他工具查找和导出架构差异,结果可能会有所不同。

  • Oracle SQL Developer 生成的SQL脚本可能会引发转换错误,这意味着您需要执行手动迁移。

  • 如果AWSSCT源和目标测试连接失败,请确保为虚拟私有云 (VPC) 安全组配置JDBC驱动程序版本和入站规则,以接受传入流量。

产品版本

  • Amazon RDS for Oracle 数据库实例版本 12.1.0.2(版本 10.2 及更高版本)

  • Amazon RDS for Postgre SQL 数据库实例版本 11.5(版本 9.4 及更高版本)

  • 甲骨文SQL开发者版本 19.1 及更高版本

  • AWSSCT版本 1.0.632 及更高版本

架构

源技术堆栈

  • RDS适用于 Oracle 的亚马逊数据库实例

目标技术堆栈

  • RDS适用于 Postgre 的亚马逊SQL数据库实例

源架构和目标架构

下图显示了从 A RDS mazon for Oracle 数据库实例迁移到 Amazon RDS for Postgre SQL 数据库实例的情况。

从RDS适用于 Oracle 的亚马逊迁移到适用于 Postg SQL re RDS 的亚马逊的工作流程。

图表显示了以下迁移工作流:

  1. 打开 Oracle SQL 开发人员并连接到源数据库和目标数据库。

  2. 生成差异报告,然后为架构差异对象生成SQL脚本文件。有关差异报告的更多信息,请参阅 Oracle 文档中的详细差异报告

  3. 配置AWSSCT并运行 Python 代码。

  4. SQL脚本文件从 Oracle 转换为 Postg SQL re。

  5. 在目标 Postgre SQL 数据库实例上运行SQL脚本文件。 

自动化和扩缩

您可以通过在 Python 脚本中为单个程序的多个功能添加其他参数,和与安全相关的更改,来自动执行此迁移。

工具

  • AWSSCT— AWS Schema Conversion Tool (AWSSCT) 将现有数据库架构从一个数据库引擎转换为另一个数据库引擎。

  • Oracle SQL SQL 开发人员 — Oracle 开发人员是一个集成的开发环境 (IDE),可简化传统部署和基于云的部署中 Oracle 数据库的开发和管理。

代码

incremental-migration-sct-sql.zip 文件(附后)包含此模式的完整源代码。

操作说明

任务描述所需技能

在 Oracle SQL 开发者中运行数据库差异。

  1. 登录您的源 Oracle 数据库实例,选择工具,然后选择 Database Diff

  2. 源连接中选择源数据库。

  3. 目标连接中选择已更新或已修补的源数据库。

  4. 根据您的要求配置其余选项,选择下一步,然后选择完成以生成差异报告。

DBA

生成SQL脚本文件。

选择 “生成脚本” 以生成SQL文件中的差异。 

这将生成用于将您的数据库从 Oracle 转换为 Postg SQL re 的SQL脚本文件。AWS SCT

DBA
任务描述所需技能

使用 Window AWS SCT s 命令提示符进行配置。

  1. 从预安装的AWSSchemaConversionToolBatch.jarAWSSCT文件夹中复制文件并将其粘贴到工作目录中。

  2. run_aws_sct_sql.py 文件夹 incremental-migration-sct-sql.zip 文件(附后)中部署 Python 代码。这将在包含源数据库和目标数据库环境配置详细信息的 projects 目录中创建 .xml 文件和 .sct 文件。它还会读取您在 Oracle SQL 开发人员中生成的SQL脚本文件。最后,它会在 output 目录中创建 .sql 文件对象。

  3. 使用以下格式在 database_migration.txt 文件中配置源环境和目标环境配置的详细信息:

#source_vendor,source_hostname,source_dbname,source_user,source_pwd,source_schema,source_port,source_sid,target_vendor,target_hostname,target_user,target_pwd,target_dbname,target_port ORACLE,myoracledb.cokmvis0v46q.us-east-1.rds.amazonaws.com,ORCL,orcl,orcl1234,orcl,1521,ORCL,POSTGRESQL,mypgdbinstance.cokmvis0v46q.us-east-1.rds.amazonaws.com,pguser,pgpassword,pgdb,5432

4. 根据您的要求修改AWSSCT配置参数,然后将SQL脚本文件复制到工作目录的input子目录中。

DBA

运行 Python 脚本。

  1. 使用以下命令运行 Python 脚本:$ python run_aws_sct_sql.py database_migration.txt

  2. 这将创建数据库对象SQL文件。存在转换错误的未转换代码可手动转换。

DBA

在 Amazon 中RDS为 Postgre 创建对象 SQL

运行SQL文件并在您的 Amazon RDS for Postgre SQL 数据库实例中创建对象。

DBA

相关资源

附件

要访问与此文档相关联的其他内容,请解压以下文件:attachment.zip