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

了解如何使用 Oracle Cloud Infrastructure GoldenGate 将 Amazon RDS for Oracle 的数据复制到 Oracle 对象存储。

开始之前

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

环境设置:Amazon RDS for Oracle

预配 Amazon RDS for Oracle 实例,然后使用以下步骤设置源数据库以与 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 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找 SRC_OCIGGLL 方案,然后从其各自的下拉列表中选择表。

任务 1:创建 OCI GoldenGate 资源

  1. 为 Oracle 实例的源 Amazon RDS 创建 Oracle 部署

  2. 创建大数据部署目标 Oracle 对象存储桶。

  3. 为源 Amazon RDS for Oracle 实例创建连接。

  4. 为目标 Oracle 对象存储创建连接

  5. 如果您的大数据部署没有公共端点,请创建与 GoldenGate 的连接,并将此连接分配给源 Oracle 部署。

  6. 将 Amazon RDS for Oracle 连接分配给源 Oracle 部署

  7. 将 Oracle 对象存储连接分配给目标大数据部署

  8. 将 GoldenGate 连接分配给源 Oracle 部署

任务 2:添加并运行提取

  1. 在“Deployments(部署)”页面上,选择 Oracle 部署的源 Amazon RDS。

  2. 在部署详细信息页上,选择启动控制台

  3. 使用源部署的管理员用户名和密码登录。

  4. 添加提取

任务 3:添加并运行分发路径

  1. 如果使用 GoldenGate 身份证明存储,请在目标大数据部署中为分发路径创建用户,否则跳至步骤 3。

  2. source GoldenGate 部署控制台中,为在步骤 1 中创建的用户添加路径连接。

    1. 在源 GoldenGate 部署控制台中,在左侧导航中选择 Path Connections(路径连接)

    2. 选择添加路径连接(加号图标),然后完成以下操作:

      1. 对于身份证明别名,输入 GGSNetwork

      2. 对于用户 ID ,输入在步骤 1 中创建的用户的名称。

      3. 输入用户的密码两次以进行验证。

    3. 选择提交

      路径连接将显示在“路径连接”列表中。

  3. source 部署控制台中, add a Distribution Path with the following values:

    1. 源选项页上:

      • 对于源提取,选择在任务 2 中创建的提取。

      • 对于线索名称,输入两个字符的名称,例如 E1

    2. 目标选项页上:

      • 对于目标主机,输入目标部署的主机域。

      • 端口号中,输入 443

      • 对于线索名称,输入两个字符的名称,例如 E1

      • 对于别名,输入在步骤 2 中创建的身份证明别名。

  4. target 大数据部署控制台中,查看作为分发路径结果创建的接收器路径。

    1. 在目标大数据部署控制台中,选择接收方服务

    2. 查看路径详细信息。此路径是在上一步中创建的分发路径的结果创建的。

任务 4:添加并运行复制

  1. 目标“大数据”部署控制台导航菜单中,选择复制

  2. 在 "Replicats"(复制)页面上,选择 Add Replicat(添加复制)(加号图标),然后按如下方式填写表单:

    1. 在“复制信息”页上:

      1. 对于 Replicat Type(复制类型),选择 Classic Replicat

      2. 对于进程名称,输入名称,如 REP

    2. 在“复制选项”页面上:

      1. 对于 Replicat Trail Name(复制线索名称),输入两个字符的名称,例如 E1

      2. 对于“目标”,选择 Oracle 对象存储

    3. 在“参数文件”页上,将 MAP *.*, TARGET *.*; 替换为:

      MAP SRC_OCIGGLL.*, TARGET *.*;
    4. 在“Properties File(属性文件)”页上,根据需要配置 OCI Event Handler 属性。

      必需的属性:

      • gg.eventhandler.oci.compartmentID:Oracle 对象存储存储桶所在的区间 OCID。

      • gg.handler.oci.fileNameMappingTemplate:使用模板关键字动态生成文件名。

      您可以考虑修改的属性包括:

      • gg.handler.oci.format:选择如何设置输出的格式。json_row 是默认设置。可用的选项包括:

      • gg.handler.oci.inactivityRollInterval:GoldenGate 创建文件并使其保持打开状态以进行写入。此属性在指定的不活动期间(无传入事务处理)后关闭文件,然后将其加载到 Oracle 对象存储中。缺省情况下,它设置为 5 秒。可以指定以毫秒 (ms)、秒 (s)、分钟 (m) 或小时 (h) 为单位的时间。例如,gg.handler.oci.inactivityRollInterval=10m

      • gg.handler.oci.maxFileSize:文件写入器处理程序将打开文件并使其保持打开状态,直到达到最大文件大小(假定没有元数据更改)。默认情况下,最大文件大小为 1 GB,但您可以使用此属性进行更改。当达到大小时,将关闭文件,并生成新文件。例如,gg.handler.oci.maxFileSize=500m

      • gg.handler.oci.rollOnShutdown:默认值为“真”。设置为 true 时,GoldenGate 将在停止复制进程时关闭打开的文件。缺省情况下,即使复制停止,文件写入器处理程序也会保持文件的打开状态,并在复制重新启动时继续写入同一文件。例如,gg.handler.oci.rollOnShutdown=false

      • gg.handler.oci.fileRollInterval:指定在文件关闭并滚动到新文件之前保持文件打开的时间量。默认情况下,它设置为 7 分钟。可以指定以毫秒 (ms)、秒 (s)、分钟 (m) 或小时 (h) 为单位的时间。例如,gg.handler.oci.fileRollInterval=10m

      • gg.eventhandler.oci.bucketMappingTemplate:输入 Oracle 对象存储存储桶名称。

    5. 选择创建并运行

任务 5:验证复制

对源 Amazon RDS for Oracle 实例执行一些更新以验证复制到 Oracle 对象存储。

  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. 在目标 Big Data OCI GoldenGate 部署控制台中,选择复制名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。

任务 6:监控和维护流程

  1. 监视复制过程

  2. Manage Trail files(管理线索文件)