注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成实验室时,请将这些值替换为特定于云环境的值。
使用 OCI GoldenGate 使用 PostgreSQL 将 Amazon RDS for PostgreSQL Database 迁移到 OCI 数据库
简介
Oracle Cloud Infrastructure Database with PostgreSQL(OCI Database with PostgreSQL) 是一项全托管式服务,可在创建或删除数据库表时自动扩展存储。这简化了管理并优化了存储成本。数据在传输中和静态都是加密的。OCI GoldenGate 支持逻辑在线迁移,支持通过 PostgreSQL 服务数据库实现 OCI 数据库的无缝转换和近乎零停机迁移。
The following images shows the architecture for migrating an Amazon Relational Database Service PostgreSQL (Amazon RDS for PostgreSQL) database to OCI Database with PostgreSQL service using OCI GoldenGate, the pg_dump
and the pg_restore
utility.
OCI Database for PostgreSQL 当前支持版本 14 和 15。在本教程中,我们使用的是版本 15。元数据迁移将使用 pg_dump
和 pg_restore
实用程序完成。初始加载和数据复制将使用 OCI GoldenGate 完成。
注:确保在 OCI GoldenGate 部署、源数据库和目标数据库之间建立连接。
目标
-
配置适用于 PostgreSQL 的 Amazon RDS。
-
在 Amazon RDS 中修改用于 OCI GoldenGate 配置的 PostgreSQL 参数。
-
使用 PostgreSQL 配置 OCI 数据库。
-
为 PostgreSQL 部署类型部署 OCI GoldenGate。
-
使用 PostgreSQL 将方案元数据从 Amazon RDS for PostgreSQL 迁移到 OCI Database。
-
为源 Amazon Web Services (AWS) 和目标 OCI 从 OCI GoldenGate 部署创建连接。
-
为初始加载创建提取。
-
为数据同步和注册创建提取。
-
启动初始加载和数据同步提取。
-
为初始加载和启动创建复制。
-
为增量同步创建复制。
-
测试与源数据库上插入的数据同步。
-
问题和故障排除。
先决条件
-
预配 OCI 环境,例如区间、虚拟云网络 (VCN)、子网等。
-
为 PostgreSQL 预配 Amazon RDS。
-
为 PostgreSQL 客户端预配 OCI Compute VM。
-
使用 PostgreSQL 预配 OCI 数据库。
-
预配 OCI GoldenGate 大部署。
任务 1:为 PostgreSQL 实例创建 Amazon RDS
登录 AWS 控制台并为 PostgreSQL 创建 RDS 实例。输入必需的信息,如以下图像所示。
任务 2:创建自定义参数组并修改必需参数
连接到 RDS 实例并转至配置选项卡。查找 DB 实例参数组,应将其设置为默认值。现在,单击创建参数组以创建单独的参数组,并输入必需的信息,如以下图像中所示。
任务 3:使用 PostgreSQL 数据库创建 OCI 数据库
登录到 OCI 控制台并转到数据库,然后单击创建数据库。
任务 4:创建 OCI 计算实例并安装 PostgreSQL 客户端以实现连接
我们需要在 OCI 控制台中创建 OCI 计算实例,并使用以下命令安装 PostgreSQL。
sudo dnf install -y postgresql15*
psql --version
任务 5:测试从 OCI 计算实例到源和目标的连接
-
转到 AWS 控制台并获取 AWS 端点以实现连接。
-
运行以下命令以连接到 PostgreSQL 实例的 Amazon RDS。
-
转到 OCI 控制台,使用 PostgreSQL Endpoint 获取 OCI Database 以实现连接。
-
运行以下命令以使用 PostgreSQL 实例连接到 OCI 数据库。
任务 6:创建 OCI GoldenGate 部署和测试连接
-
转到 OCI 控制台并导航到 Oracle Database ,然后单击 GoldenGate 以创建 OCI GoldenGate 部署。
-
输入以下信息并确保将选择技术作为 PostgreSQL 。
-
选择区间和专用子网作为子网。要访问部署控制台,请确保启用公共访问。这需要在创建部署期间启用,否则将禁用它。
-
单击创建密码密钥可提前创建密码密钥。在创建期间,OCI GoldenGate 部署请求密钥,而不是纯文本密码。
应在创建后提供部署。
-
使用以下映像中所示所需的信息,为 PostgreSQL 的 Amazon RDS 和具有 PostgreSQL 数据库的 OCI 数据库创建连接。
-
将这些连接分配给 Assigned connection 下的 OCI GoldenGate 部署,并测试连接是否成功。
Task 7: Migrate Schema Metadata from Amazon RDS for PostgreSQL Instance to OCI Database with PostgreSQL
我们使用一个测试方案来测试迁移。
-
运行
pg_dump
命令以执行元数据方案导出。 -
运行以下命令以将此元数据转储还原到具有 PostgreSQL 数据库的目标 OCI 数据库。
-
运行以下命令以检查是否在目标数据库中创建了所有对象。
任务 8:配置 OCI GoldenGate 提取和复制流程以进行迁移
-
转到 OCI GoldenGate 控制台,导航到管理,然后单击提取以创建初始加载提取流程。
-
在添加提取中,选择源作为文件,选择初始加载需要文件作为源类型。
-
输入文件名的参数文件并将其从 3 个字符修改为 2 个字符,因为 Replicat 参数仅支持 2 个字符。
-
创建增量同步的提取流程并使用所需的信息进行注册,如下图中所示。
-
启动初始加载提取处理,并检查报告文件中的初始加载和 LSN。
-
使用从初始加载提取中获取的提交序号 (CSN) 启动更改数据捕获 (CDC) 处理。
-
使用所需信息创建并启动初始加载的复制进程,如以下映像中所示。
-
检查初始报告复制进程的报告。
-
在初始加载后为数据同步创建复制,并开始使用所需的信息,如以下映像中所示。
-
如果正在复制数据,请运行以下命令来检查源和目标。
任务 9:问题和故障排除
-
Issue1:在与 OCI GoldenGate 相关的 PostgreSQL 实例的源 Amazon RDS 上未正确定义参数时,可能会出现以下错误:
对于 PostgreSQL 实例,您需要确保在 Amazon RDS 上将参数
logical_replication
设置为 1。 -
问题 2: OCI GoldenGate 部署版本 21c 对阵列具有数据类型限制。您可能会收到以下错误:
相关链接
确认
- 作者 — Ashish Srivastava(Oracle 北美云服务— NACIE 首席云架构师)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Migrate Amazon RDS for PostgreSQL Database to OCI Database with PostgreSQL using OCI GoldenGate
G33818-01
Copyright ©2025, Oracle and/or its affiliates.