将数据从 Amazon RDS for Oracle 复制到 OCI Object Storage

了解如何使用 Oracle Cloud Infrastructure GoldenGate 将 Amazon RDS for Oracle 数据复制到 OCI Object Storage。

开始之前

要成功完成此快速入门,您必须具有以下各项:

  • 注册或登录到您的 Oracle Cloud 账户。
  • 适用于 Oracle 实例的源 Amazon RDS,在环境设置中进行了说明。

环境设置:适用于 Oracle 的 Amazon RDS

为 Oracle 实例预配 Amazon RDS,然后使用以下步骤设置源数据库以与 Oracle GoldenGate 一起使用。

  1. 在源数据库上启用补充日志记录。
  2. ENABLE_GOLDENGATE_REPLICATION 初始化参数设置为 true
  3. 在源数据库上启用归档并保留归档重做日志。
  4. 在源数据库上创建 Oracle GoldenGate 用户帐户。
  5. 授予对源数据库的用户帐户权限。
    GRANT CREATE SESSION, ALTER SESSION TO GGADMIN;
    GRANT RESOURCE TO GGADMIN;
    GRANT SELECT ANY DICTIONARY TO GGADMIN;
    GRANT FLASHBACK ANY TABLE TO GGADMIN;
    GRANT SELECT ANY TABLE TO GGADMIN;
    GRANT EXECUTE ON DBMS_FLASHBACK TO GGADMIN;
    GRANT SELECT ON SYS.V_$DATABASE TO GGADMIN;
    GRANT ALTER ANY TABLE TO GGADMIN;
    EXEC rdsadmin.rdsadmin_dbms_goldengate_auth.grant_admin_privilege (
    grantee                 => 'GGADMIN',
    privilege_type          => 'capture',
    grant_select_privileges => true,
    do_grants               => TRUE);
    
  6. 下载并解压缩示例数据库方案
  7. 加载源示例方案和数据:
    1. 以用户 SRC_OCIGGLL 的身份从 SQL Developer 连接到 Amazon RDS for Oracle 实例。
    2. 将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql 复制并粘贴到 SQL 工作表中。
    3. 单击运行脚本脚本输出选项卡显示确认消息。
    4. 清除 SQL 工作表,然后从 OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql 复制并粘贴 SQL 脚本。

      提示:

      您可能需要单独运行每个语句,SQL 工具才能成功执行脚本。
    5. 要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开。在“导航器”选项卡中,查找 SRC_OCIGGLL 方案,然后从各自的下拉列表中选择表。

任务 1:创建 OCI GoldenGate 资源

  1. 为 Oracle 实例的源 Amazon RDS 创建 Oracle 部署
  2. 创建大数据部署目标 OCI Object Storage 桶。
  3. 为 Oracle 实例的源 Amazon RDS 创建连接。
  4. 为目标 OCI 对象存储创建连接
  5. 如果您的大数据部署没有公共端点,请创建与 GoldenGate 的连接,并将此连接分配给源 Oracle 部署。
  6. 将 Amazon RDS 用于 Oracle 连接分配给源 Oracle 部署
  7. 将 OCI Object Storage 连接分配给目标大数据部署
  8. 将 GoldenGate 连接分配给源 Oracle 部署

任务 2:添加并运行提取

  1. 在“部署”页上,选择用于 Oracle 部署的源 Amazon RDS。
  2. 在部署详细信息页上,单击启动控制台
  3. 使用源部署的管理员用户名和密码登录。
  4. 添加事务处理信息
  5. 添加提取

任务 3:添加并运行 Distribution Path

  1. 如果使用 GoldenGate 身份证明存储,请在目标大数据部署中为分发路径创建用户,否则跳至步骤 3。
  2. ATP GoldenGate 部署控制台中,为在步骤 1 中创建的用户添加路径连接。
    1. 在源 ATP GoldenGate 部署控制台中,单击左侧导航中的路径连接
    2. 单击添加路径连接(加号图标),然后完成以下操作:
      1. 对于身份证明别名,输入 GGSNetwork
      2. 对于用户 ID ,输入在步骤 1 中创建的用户的名称。
      3. 输入用户口令两次以进行验证。
    3. 单击提交

      路径连接将显示在 "Path Connections"(路径连接)列表中。

  3. ATP 部署控制台中,使用以下值添加分发路径
    1. 源选项页上:
      • 对于源提取,选择在任务 2 中创建的提取。
      • 对于线索名称,输入两个字符的名称,例如 E1
    2. 目标选项页上:
      • 对于目标主机,输入目标部署的主机域。
      • 对于端口号,输入 443
      • 对于线索名称,输入两个字符的名称,例如 E1
      • 对于别名,输入在步骤 2 中创建的身份证明别名。
  4. 目标大数据部署控制台中,查看因 Distribution Path 而创建的 Receiver Path
    1. 在目标大数据部署控制台中,单击 Receiver Service
    2. 查看路径详细信息。此路径是由于上一步中创建的 Distribution Path 而创建的。

任务 4:添加并运行 Replicat

  1. 目标大数据部署控制台导航菜单中,单击 Replicats
  2. Replicats 页面上,单击添加 Replicat (加号图标),然后按如下方式完成表单:
    1. 在“Replicat 信息”页上:
      1. 对于 Replicat 类型,选择经典 Replicat
      2. 对于进程名,输入名称,例如 REP
    2. 在“Replicat 选项”页上:
      1. 对于 Replicat Trail Name ,输入两个字符的名称,例如 E1
      2. 对于目标,选择 OCI 对象存储
    3. 在“参数文件”页上,将 MAP *.*, TARGET *.*; 替换为:
      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. 在“属性文件”页上,根据需要配置 OCI 事件处理程序属性。
      必需属性:
      • gg.eventhandler.oci.compartmentID:OCI 对象存储存储桶所在的区间 OCID。
      • gg.handler.oci.fileNameMappingTemplate:使用模板关键字动态生成文件名。
      您可以考虑修改的属性包括:
      • gg.handler.oci.format:选择如何设置输出的格式。json_row 是默认设置。可用的选项包括:

        提示:

        要对 OCI 对象存储使用格式设置属性,请将 name 替换为 oci。例如,gg.handler.name.format 变为 gg.handler.oci.format
      • gg.handler.oci.inactivityRollInterval:GoldenGate 创建文件并使其保持打开状态以便写入。此属性在指定的不活动期间(无传入事务处理)后关闭文件,然后将其加载到 OCI 对象存储中。默认情况下,将其设置为 5 秒。可以指定以毫秒(毫秒)、秒(秒)、分钟 (m) 或小时 (h) 为单位的时间。例如,gg.handler.oci.inactivityRollInterval=10m
      • gg.handler.oci.maxFileSize:如果不更改元数据,文件写入器处理程序将打开文件并保持打开状态,直到文件达到最大文件大小为止。默认情况下,最大文件大小为 1 GB,但可以使用此属性对其进行更改。达到大小时,将关闭文件,并生成新文件。例如,gg.handler.oci.maxFileSize=500m
      • gg.handler.oci.rollOnShutdown:默认值为真。设置为 true 时,在停止 Replicat 进程时,GoldenGate 会关闭打开的文件。默认情况下,即使 ReplicatReplicat 重新启动时停止并继续写入同一文件,文件写入器处理程序也会保持文件打开状态。例如,gg.handler.oci.rollOnShutdown=false
      • gg.handler.oci.fileRollInterval:指定在文件关闭并滚动到新文件之前打开该文件的时间量。默认情况下,设置为 7 分钟。可以指定以毫秒(毫秒)、秒(秒)、分钟 (m) 或小时 (h) 为单位的时间。例如,gg.handler.oci.fileRollInterval=10m
      • gg.eventhandler.oci.bucketMappingTemplate:输入对象存储桶名称。
    5. 单击创建并运行

任务 5:验证复制

对 Oracle 实例的源 Amazon RDS 执行一些更新,以验证复制到 OCI 对象存储。
  1. 以用户 SRC_OCIGGLL 的身份从 SQL Developer 连接到 Amazon RDS for Oracle 实例。
  2. 在工作表中输入以下内容,然后单击运行脚本
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1000,'Houston',20,743113);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1001,'Dallas',20,822416);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1002,'San Francisco',21,157574);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1003,'Los Angeles',21,743878);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1004,'San Diego',21,840689);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1005,'Chicago',23,616472);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1006,'Memphis',23,580075);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1007,'New York City',22,124434);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1008,'Boston',22,275581);
    Insert into SRC_OCIGGLL.SRC_CITY (CITY_ID,CITY,REGION_ID,POPULATION) values (1009,'Washington D.C.',22,688002);
  3. 在源 GoldenGate OCI GoldenGate 部署控制台中,选择提取名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。
  4. 在目标大数据 OCI GoldenGate 部署控制台中,选择复制名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

任务 6:监控和维护流程

  1. 监视性能
  2. 管理线索文件