注意:
- 本教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure 免费套餐。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间的示例值。完成实验室时,请将这些值替换为特定于云环境的值。
通过联机迁移使用 Oracle Cloud Infrastructure Database Migration 迁移 Oracle 数据库
简介
Oracle Cloud Infrastructure Database Migration 为无缝数据库迁移提供高性能的自助体验。主要功能包括:
- 从 MySQL 或 Oracle 数据库到 Oracle Cloud Infrastructure (OCI) 的同构迁移。
- 利用 GoldenGate 的数据复制技术,以最短的停机时间完成企业级逻辑联机和脱机迁移。
在后台,OCI Database Migration 利用 Oracle Zero Downtime Migration 工具,无需进行基础设施配置。
迁移模式:
-
脱机迁移:源数据库的时间点快照将复制到目标数据库,要求应用程序在迁移期间保持脱机状态。
-
在线迁移:复制初始快照,然后实时复制更改,使应用程序在迁移期间保持联机状态并正常运行。
支持的迁移:
-
Oracle 源数据库可以驻留在本地、第三方云或 OCI 上。
-
支持的目标数据库包括 Oracle Autonomous Database、Oracle Base Database Service 和 Oracle Exadata Database Service。
OCI 数据库迁移架构
OCI Database Migration 作为托管云技术服务运行,独立于您的租户和资源,利用专用端点进行安全通信。它可以从各种来源(包括内部部署、第三方云或 OCI)迁移 Oracle 数据库。该服务支持迁移到多个 Oracle 目标,例如:
- Oracle Autonomous Database(共享或专用)。
- Oracle Base Database Service。
- 专用基础结构上的 Oracle Exadata Database Service。
OCI Database Migration 是一个完全托管的云技术服务,独立于用户的租户和资源。它作为专用 OCI 数据库迁移租户中的多租户服务,利用专用端点与用户资源通信。这些专用端点由 OCI Database Migration 管理,为用户提供无缝体验。
-
DMS 控制层:使用户能够通过 OCI Database Migration 控制台和 REST API 管理迁移和数据库连接对象,从而为无缝迁移管理提供集中式界面。
-
DMS 数据层:由 OCI Database Migration Control Plane 管理的 OCI Database Migration Data Plane 向用户透明地运行。它通过专用端点监视正在进行的迁移作业,与用户数据库和 OCI GoldenGate 实例进行通信。值得注意的是,OCI Database Migration Data Plane 不会存储客户数据,因为数据直接通过用户租户中的 OCI GoldenGate 和 Oracle Data Pump 传输。
-
迁移: OCI Database Migration 是一个集中式对象,用于存储用于迁移单个数据库的元数据。它包含有关源方法、目标方法和迁移方法的详细信息。用户可以创建迁移,验证环境的正确性,然后运行迁移以将数据库数据和方案元数据从源传输到目标。
-
迁移作业: OCI 数据库迁移中的迁移作业表示迁移的执行状态,无论是验证还是实际迁移。作业将通过连续阶段进行,允许用户在某个阶段后暂停,并在准备好继续进入下一阶段时手动恢复。
-
数据库连接: OCI Database Migration 中的数据库连接存储有关源或目标数据库的详细信息,包括连接和验证身份证明,从而安全地利用 OCI Vault 进行身份证明存储。可以跨多个迁移重用此连接,从而简化流程。
目标
- 通过在线迁移,使用 OCI Database Migration 迁移 Oracle 数据库。
先决条件
已设置以下资源来方便演示(使用名称):
- Vault (
DMSVAULT
) 和加密密钥 (DMSKEY
)。 - 默认安全列表表中添加了具有端口
1521
、1522
和443
的虚拟云网络 (VCN)(VCN01
) 作为入站规则。 - OCI Object Storage Bucket (
DMSBUCKET
)。 - Oracle Database 19c Multitenant 数据库 (
DMSOURCE
)。 - Oracle Autonomous Database 目标数据库 (
DMSTARGETAUTONOMUS
)。
任务 1:准备源数据库
要准备使用 OCI GoldenGate 进行联机迁移的源数据库,请执行以下步骤:
在容器中创建公用用户 C##GGADMIN
,在可插入数据库中创建本地用户 GGADMIN
。这些用户将用于在 OCI Database Migration 控制台中创建源数据库连接。
自动化准备
-
从 MOS 简讯 2953866.1.s 下载
dms-db-prep-v2.sh
脚本。 -
运行脚本以生成
dms_prep_db.sql
文件。 -
在
CDB$ROOT
级别运行生成的 SQL 文件。在容器级别运行
dms_prep_db.sql
文件将生成DMS_Configuration.sql
文件。此文件需要在容器级别执行之前进行复核和可能的修改。
任务 2:在源可插入数据库 (PDB) 中创建样例用户并加载同一数据
要测试 OCI Database Migration 功能,我们需要创建示例用户 TESTUSER
(表 EMPL
)并使用一些数据填充它来测试迁移。完成此操作后,我们很乐意继续执行下一个任务。
任务 3:准备目标数据库
在目标 Oracle Autonomous Transaction Processing (ATP) 中设置 ggadmin
用户的密码并解锁该密码。
任务 4:在 OCI Database Migration Console 中为源容器数据库 (CDB)、源 PDB 和目标数据库 (ATP) 创建连接
-
为源 CDB 创建连接。
-
转到 OCI 控制台,导航到 Migration and Disaster Recovery 、 Database Migrations 和 Database Connections ,然后单击创建连接。
-
输入以下信息。
- 名称:输入
SRCCDB
。 - 区间:选择您自己具有必要权限的区间。
- 类型:选择 Oracle Database 。
- Vault:选择在先决条件中创建
DMSVAULT
。 - Encryption Key(加密密钥):选择
DMSKEY
。
连接详细信息:
- 初始加载数据库用户名应为具有
DATAPUMP_EXP_FULL_DATABASE
角色的用户。 - 数据库 wallet 是可选的。
- 创建专用端点:如果您的数据库是在专用子网中启动的,请单击同一子网,然后从下拉菜单中选择专用子网名称。如果没有,则无需选择创建专用端点。
- 单击高级设置。
- SSH 数据库服务器主机名:源数据库的公共 IP。
- SSH 私钥: RSA 格式的私钥,在创建源数据库期间下载。
- SSH 用户名:输入
opc
。 - 单击创建。
- 创建连接后,测试应该成功的连接。
- 名称:输入
-
-
为源 PDB 创建连接。
输入名称 (
SRCPDB
) 并将所有内容都与SRCCDB
连接详细信息相同,但复制数据库用户名(如果是 PDB,则为GGADMIN
)。 -
为目标 PDB (ATP) 创建连接。
-
输入以下信息。
- 名称:输入
TRGATP
。 - 区间:输入您自己具有必要权限的区间。
- 类型:选择 Oracle Autonomous Database 。
- Vault:输入在先决条件中创建的
DMSVAULT
。 - Encryption Key(加密密钥):选择
DMSKEY
。
连接详细信息:
- 数据库:输入
DMSTARGETARGETAUTONOMOUS
。 - Initial Load database username(初始装入数据库用户名):输入
Admin
。 - 选择使用不同的身份证明进行复制。
- Replication database username(复制数据库用户名):输入
ggadmin
。 - 复制数据库密码:输入与任务 3 相同的密码。
- 创建专用端点:如果您的数据库是在专用子网中启动的,请单击同一子网并从下拉菜单中选择专用子网名称。如果没有,则无需选择创建专用端点。
- 名称:输入
-
单击创建,创建完成后,单击测试连接。它应该是成功的。
-
现在,我们已完成创建与源 CDB、源 PDB 和目标 ATP 数据库的连接。
任务 5:创建迁移
-
单击迁移和创建迁移,然后输入以下信息。
- 名称:输入
POCMIGRATION
。 - 数据库连接:选择 SRCPDB 作为源数据库。
- 选择 Database is pluggable database,PDB(数据库是可插入数据库 (PDB))。
- 容器数据库连接:选择 SRCCDB 。
- 名称:输入
-
输入目标数据库信息。
- 目标数据库:选择 TRGATP 。
- 传输初始负载的介质:选择通过对象存储的数据泵。
- 在源数据库中:
- 导出目录对象名称:输入在源数据库中创建的 dumpdir 。
- 导出目录对象路径:输入在源数据库中创建的
/u01/app/oracle/dumpdir
。
- 对象存储存储桶:选择 DMSBUCKET 。
-
单击显示高级选项,然后在验证下,选择验证期间运行预迁移指导。
在 Advanced Options(高级选项)部分中,查看各种选项卡以定制迁移设置。值得注意的是,如果您之前从市场在租户中预配了 OCI GoldenGate 市场实例,则还可以使用复制选项卡。
任务 6:验证迁移任务
单击创建。创建迁移后,让我们验证迁移。在继续验证之前,可以再次测试源 PDB、源 CDB 和目标 ATP 的连接。我们将使用默认选项。
启动验证作业后,单击查看详细信息以监视进度并查看具体信息。
如果 OCI Database Migration 验证作业出现任何故障,您可以下载 OCI Database Migration 日志,如以下映像所示。
任务 7:启动迁移任务
-
单击开始。系统将提示您选择一个阶段以暂停迁移。默认选项为监视复制滞后,其中对源方案所做的更改将实时跟踪、捕获并与目标数据库同步。
迁移过程涉及多个阶段。默认情况下,作业在 Monitor replication lag 处暂停,在此处它跟踪和同步源数据库与目标数据库之间的更改。
在切换日期,您需要停止应用程序并恢复迁移作业。我们需要确保在此阶段之后,源数据库上不会发生任何新事务,直到切换完成。然后,作业将最终完成切换到目标数据库并执行清除。
-
要完成切换,请在恢复作业窗口中选择切换阶段,然后单击恢复。此阶段将停止复制并重定向目标应用程序以启动目标数据库上的事务处理。
-
作业恢复并完成切换阶段后,再次单击恢复。然后,选择最终阶段并清除,然后单击恢复以完成迁移过程。
相关链接
确认
- 作者 — Kaushik Mukherjee(Oracle India - Bangalore 高级首席顾问)
更多学习资源
通过 docs.oracle.com/learn 浏览其他实验室,或者通过 Oracle Learning YouTube 频道访问更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 以成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Migrate Oracle Databases using Oracle Cloud Infrastructure Database Migration with Online Migration
G33893-01
Copyright ©2025, Oracle and/or its affiliates.