注:

使用 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

先决条件

任务 1:为数据复制配置 Oracle GoldenGate 微服务

  1. 登录到 OCI 控制台并导航到市场。

    市场

  2. 所有应用程序下,搜索“Oracle GoldenGate for Oracle - Database Migrations”并选择它。

    创建堆栈

  3. 单击启动堆栈以创建所需资源,然后单击下一步

    创建堆栈

  4. 选择您的设置,如下图中所示。

    网络设置

    实例设置

    创建 OGG 部署

    Oracle GoldenGate

  5. 导航到计算。在实例下,您应该能够看到已创建的 Oracle Golden Gate 微服务 VM。记下服务器的公共 IP。

  6. 使用 Web 浏览器加载 Oracle GoldenGate Service Manager。如果出现任何连接超时错误,请检查安全列表中的入站规则 (443)。

  7. 服务管理器用户名是 oggadmin。以 OPC 用户身份登录 Oracle GoldenGate 服务器以获取密码。您将在 OPC 主目录下找到 JSON 文档 - ogg-credentials.json。按如下所示获取 oggadmin 用户凭证。

-bash-4.2$ cat /home/opc/ogg-credentials.json
{"username": "oggadmin", "credential": "***********"}

Oracle GoldenGate

在将源和目标数据库注册到 OCI 数据库迁移服务之前,请完成以下必备步骤,如下所述。

任务 2:准备要迁移的源数据库

数据库 sasprd

  1. 在 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
    

    Oracle GoldenGate

    Oracle GoldenGate

     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.
    

    Oracle GoldenGate

  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 数据库迁移服务注册源数据库和目标数据库

  1. 在云控制台上导航到数据库迁移,然后单击已注册的数据库

  2. 单击注册数据库可注册我们的第一个数据库。

  3. 输入源数据库详细信息,然后单击下一步

    Oracle GoldenGate

    Oracle GoldenGate

    • 连接字符串:源服务器主机名/服务器 IP 地址 + 端口 + 服务名称。

      Oracle GoldenGate

  4. 完成所有必需的详细信息后,单击注册

  1. 我们已完成向 OCI 数据库迁移服务注册源数据库和目标数据库。现在,我们可以创建迁移作业。导航到“迁移”,然后单击创建迁移

  2. 提供名称并单击下一步

Oracle GoldenGate Oracle GoldenGate

  1. 对于初始加载,选择选项通过对象存储进行数据泵,然后选择存储桶。

    Oracle GoldenGate Oracle GoldenGate

  2. 选择使用联机复制选项,输入 GoldenGate 集线器详细信息并单击创建

Oracle GoldenGate Oracle GoldenGate

任务 4:任务验证

  1. 创建迁移作业后,在开始实际迁移之前对其进行验证。单击验证以启动验证流程。

    Oracle GoldenGate

    • 验证将进入服务阶段,如果您的配置都很好,您应该能够看到验证状态绿色,如以下屏幕所示。

    Oracle GoldenGate

  2. 成功完成验证阶段后,您可以启动实际数据迁移作业。

    • 在此处,可以选择在启动复制后暂停。建议在切换之前暂停,并与应用程序团队讨论是否有计划的活动后执行该操作。这是实际切换,在此之后将无法恢复更改。
  3. 最后,迁移作业成功完成并且所有步骤都显示绿色状态后,应用程序人员就应该验证其应用程序数据。

    Oracle GoldenGate

确认

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心