注:
- 此教程需要访问 Oracle Cloud。要注册免费账户,请参阅开始使用 Oracle Cloud Infrastructure Free Tier 。
- 它使用 Oracle Cloud Infrastructure 身份证明、租户和区间示例值。完成实验室时,请将这些值替换为特定于云环境的那些值。
使用 Oracle Cloud Infrastructure Database Migration Service 进行实时数据迁移
简介
Oracle Cloud Infrastructure Database Migration(OCI 数据库迁移)是一项完全托管的服务,它为将数据库迁移到 Oracle Cloud Infrastructure (OCI) 提供高性能的自助体验。数据库迁移以与租户和资源分离的托管云服务形式运行。该服务作为 OCI 数据库迁移服务租户中的多租户服务运行,并使用专用端点 (Private Endpoints,EP) 与您的资源通信。PE 由数据库迁移管理。使用 OCI 数据库迁移的最大优势之一是消除复杂的基础设施准备。我们只需要通过 OCI 数据库迁移服务在源数据库与目标数据库之间提供连接。
目标
本教程详细介绍了使用 Oracle GoldenGate Marketplace 将 OCI 数据库迁移服务从内部部署数据库实时数据迁移到 OCI 的步骤。它详细介绍了如何将 VM 实例上托管的 Oracle 12c 数据库(假设这是我们的内部部署源数据库)迁移到 OCI 数据库系统 19c 可插入数据库实例(这将是我们的目标数据库)。
源数据库:SASPRD,版本:12.2.0.2 目标 ATP:RAPPRD,版本:19.17.0.0.0
先决条件
-
使用测试数据安装、配置和加载源数据库。对于本教程,我将要迁移的测试方案。
-
目标数据库预配了必要的方案。
-
Vault 和主加密密钥是在
cloud_eng_vault
下创建的。 -
已创建 Oracle 对象存储桶(在本教程中,存储桶名称为数据泵)。
-
端口 443 端口是通信所必需的,并添加到安全列表中。
任务 1:为数据复制配置 Oracle GoldenGate 微服务
-
登录到 OCI 控制台并导航到市场。
-
在所有应用程序下,搜索“Oracle GoldenGate for Oracle - Database Migrations”并选择它。
-
单击启动堆栈以创建所需资源,然后单击下一步。
-
选择您的设置,如下图中所示。
-
导航到计算。在实例下,您应该能够看到已创建的 Oracle Golden Gate 微服务 VM。记下服务器的公共 IP。
-
使用 Web 浏览器加载 Oracle GoldenGate Service Manager。如果出现任何连接超时错误,请检查安全列表中的入站规则 (443)。
-
服务管理器用户名是
oggadmin
。以 OPC 用户身份登录 Oracle GoldenGate 服务器以获取密码。您将在 OPC 主目录下找到 JSON 文档 -ogg-credentials.json
。按如下所示获取oggadmin
用户凭证。
-bash-4.2$ cat /home/opc/ogg-credentials.json
{"username": "oggadmin", "credential": "***********"}
在将源和目标数据库注册到 OCI 数据库迁移服务之前,请完成以下必备步骤,如下所述。
任务 2:准备要迁移的源数据库
数据库 sasprd
-
在 saspdb1 数据库上创建 GoldenGate 用户。
CREATE USER c##ggadmin IDENTIFIED BY c##ggadmin_password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; ALTER USER c##ggadmin QUOTA 100M ON USERS; GRANT UNLIMITED TABLESPACE TO c##ggadmin; GRANT CONNECT, RESOURCE TO c##ggadmin container=all; GRANT SELECT ANY DICTIONARY TO C##GGADMIN container=all; GRANT CREATE VIEW TO C##GGADMIN container=all; GRANT EXECUTE ON dbms_lock TO c##ggadmin container=all; EXEC dbms_goldengate_auth.GRANT_ADMIN_PRIVILEGE('c##ggadmin',container=>'all'); On PDB SASPRD_PDB1
CREATE USER ggadmin IDENTIFIED BY ggadmin_password DEFAULT TABLESPACE users TEMPORARY TABLESPACE temp; ALTER USER ggadmin QUOTA 800M ON USERS; GRANT UNLIMITED TABLESPACE TO ggadmin; GRANT CONNECT, RESOURCE TO ggadmin; GRANT SELECT ANY DICTIONARY TO GGADMIN; GRANT CREATE VIEW TO GGADMIN; GRANT EXECUTE ON dbms_lock TO ggadmin; EXEC dbms_goldengate_auth.GRANT_ADMIN_PRIVILEGE('ggadmin'); Set below parameters Alter system set global_names=false; alter system set STREAMS_POOL_SIZE=800m; Enable ARCHIVELOG if it is not already enabled. Enable supplemental logging. sql > SELECT supplemental_log_data_min, force_logging FROM v$database; sql > ALTER DATABASE ADD SUPPLEMENTAL LOG DATA; sql > ALTER DATABASE FORCE LOGGING; Enable Golden Gate Replication sql > ALTER SYSTEM SET ENABLE_GOLDENGATE_REPLICATION=TRUE SCOPE=BOTH; Create database directory. This is the location where the dump files are created. sql > CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/u01/app/oracle/product/datapump'; Preparing the Target Database for Migration: Database :-> rapprd Create GoldenGate User on the target database. In this tutorial, we have created ggadmin user in the PDB. You do not need to create any user in the container database for the target database.
CREATE USER ggadmin IDENTIFIED BY ggadmin_password DEFAULT TABLESPACE users
TEMPORARY TABLESPACE temp;
ALTER USER ggadmin QUOTA 100M ON USERS;
GRANT UNLIMITED TABLESPACE TO ggadmin;
GRANT CONNECT, RESOURCE TO ggadmin;
GRANT SELECT ANY DICTIONARY TO GGADMIN;
GRANT CREATE VIEW TO GGADMIN;
GRANT EXECUTE ON dbms_lock TO ggadmin;
EXEC dbms_goldengate_auth.GRANT_ADMIN_PRIVILEGE('ggadmin');
Set below parameters on
Alter system set global_names=false;
alter system set STREAMS_POOL_SIZE=300m;
Enable ARCHIVELOG if it is not already enabled.
Enable supplemental logging
Create database directory. This is the location where the dump files are stored.
sql > CREATE OR REPLACE DIRECTORY DATA_PUMP_DIR AS '/u01/app/oracle/product/datapump';
现在,我们已准备好向 OCI 数据库迁移服务注册源数据库和目标数据库。
任务 3:向 OCI 数据库迁移服务注册源数据库和目标数据库
-
在云控制台上导航到数据库迁移,然后单击已注册的数据库。
-
单击注册数据库可注册我们的第一个数据库。
-
输入源数据库详细信息,然后单击下一步。
-
连接字符串:源服务器主机名/服务器 IP 地址 + 端口 + 服务名称。
-
-
完成所有必需的详细信息后,单击注册。
-
添加源数据库后,可以转至目标数据库。遵循我们针对源数据库执行的相同步骤。更改连接字符串以反映目标数据库 IP 地址和 PDB 服务名称。
-
应该能够将源数据库和目标数据库视为活动数据库。
-
-
我们已完成向 OCI 数据库迁移服务注册源数据库和目标数据库。现在,我们可以创建迁移作业。导航到“迁移”,然后单击创建迁移。
-
提供名称并单击下一步。
-
对于初始加载,选择选项通过对象存储进行数据泵,然后选择存储桶。
-
选择使用联机复制选项,输入 GoldenGate 集线器详细信息并单击创建。
任务 4:任务验证
-
创建迁移作业后,在开始实际迁移之前对其进行验证。单击验证以启动验证流程。
- 验证将进入服务阶段,如果您的配置都很好,您应该能够看到验证状态绿色,如以下屏幕所示。
-
成功完成验证阶段后,您可以启动实际数据迁移作业。
- 在此处,可以选择在启动复制后暂停。建议在切换之前暂停,并与应用程序团队讨论是否有计划的活动后执行该操作。这是实际切换,在此之后将无法恢复更改。
-
最后,迁移作业成功完成并且所有步骤都显示绿色状态后,应用程序人员就应该验证其应用程序数据。
相关链接
确认
- 作者 - 云架构师资深 Hakim Ahamad
更多学习资源
探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。
有关产品文档,请访问 Oracle 帮助中心。
Use Oracle Cloud Infrastructure Database Migration Service for real time data migration
F85990-01
August 2023
Copyright © 2023, Oracle and/or its affiliates.