将数据从自治事务处理复制到 Azure Synapse Analytics

此快速入门演示如何使用 OCI GoldenGate 设置从自治事务处理到 Azure Synapse 数据库的数据复制。

开始之前

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

  • Azure 同步工作区
  • 与 Azure Synapse Workspace 关联的 Azure 存储容器
  • Azure 同步数据库范围身份证明,向 SQL 池授予访问存储账户的权限
  • 目标表存在:复制之前,目标表应存在于 Synapse 数据库中。由于 GoldenGate 使用合并 SQL 语句,因此目标表必须是散列分布式表。
  • 分配给部署的 OCI GoldenGate Azure 数据湖存储连接。如果不存在,请创建 Azure 数据湖存储连接并分配给部署。

环境设置:自治事务处理

如果您尚未设置用于复制的源数据库,可以按照以下步骤加载要用于此快速入门的示例方案。此快速入门对源数据库使用自治事务处理

要设置源 Autonomous Database,请执行以下操作:

  1. 下载并解压缩示例数据库方案
  2. 在 Oracle Cloud 控制台中,从“自治数据库”页中选择自治事务处理 (ATP) 实例以查看其详细信息并访问 Database Actions。
  3. 取消锁定 GGADMIN 用户:
    1. 单击数据库操作,然后单击数据库用户
    2. 找到 GGADMIN,然后单击其省略号菜单(三个点),然后选择编辑
    3. 在“编辑用户”面板中,输入 GGADMIN 密码,确认密码,然后取消选择帐户已锁定
    4. 单击应用更改
  4. 加载源示例方案和数据:
    1. 从“数据库操作”菜单的“开发”下,选择 SQL
    2. 将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql 复制并粘贴到 SQL 工作表中。
    3. 单击运行脚本。“脚本输出”选项卡显示确认消息。
    4. 清除 SQL 工作表,然后从 OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql. 复制并粘贴 SQL 脚本

      提示:

      您可能需要单独运行每个语句,SQL 工具才能成功执行脚本。
    5. 要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开。在“导航器”选项卡中,查找 SRC_OCIGGLL 方案,然后从各自的下拉列表中选择表。
  5. 启用补充事件记录:
    1. 清除 SQL 工作表。
    2. 输入以下语句,然后单击运行语句
      ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;

环境设置:Azure Synapse

  1. 打开 Azure Synapse Workspace
  2. 依次单击新建SQL 脚本
  3. 连接到 SQL 池并选择数据库。
  4. 输入以下命令创建主密钥加密:
    CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>';
  5. 使用以下命令创建数据库范围身份证明:
    确保将 <storage-account-name><storage-account-access-key> 占位符替换为其实际值。
    CREATE DATABASE SCOPED CREDENTIAL <credential name>
    WITH
    IDENTITY='<storage-account-name>',
    SECRET='<storage-account-access-key>';
  6. 运行创建表脚本:
    CREATE TABLE [dbo].[SRC_CUSTOMER] (
       CUSTID         NUMERIC(10) NOTNULL,
       DEAR           NUMERIC(1),
       LAST_NAME      VARCHAR(50),
       FIRST_NAME     VARCHAR(50),
       ADDRESS        VARCHAR(100),
       CITY_ID        NUMERIC(10),
       PHONE          VARCHAR(50),
       AGE            NUMERIC(3),
       SALES_PERS_ID  NUMERIC(10),
       constraint PK_SRC_CUSTOMER primarykeyNONCLUSTERED (CUSTID) NOT ENFORCED
    )
    WITH(DISTRIBUTION=HASH ([CUSTID]), HEAP ) GO
  7. 验证是否已创建 dbo.SRC_Customer 表。

任务 1:创建 OCI GoldenGate 资源

此快速入门示例需要源和目标的部署和连接。
  1. 为源 Autonomous Transaction Processing 实例创建 Oracle 部署
  2. 为目标 Azure Synapse 创建大数据部署
  3. 创建与源自治事务处理的连接
  4. 创建 Azure Synapse Analytics 连接
  5. 创建 Azure Data Lake Storage 连接
  6. 将自治事务处理连接分配给源 Oracle 部署
  7. 将 Azure Synapse 连接分配给目标大数据部署

任务 2:添加 Extract

  1. 在“Deployments(部署)”页面上,选择源自治事务处理部署。
  2. 在部署详细信息页上,单击启动控制台
  3. 使用源部署的管理员用户名和密码登录。
  4. 添加事务处理信息
  5. 添加 Extract

任务 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. 在目标大数据部署控制台中,单击 Administrator Service ,然后单击添加 Replicat (加号图标)。
  2. 添加具有以下值的 Replicat
    1. 在“Replicat 信息”页的 Replicat 类型下,选择 Classic Replicat ,输入进程名称,然后单击下一步
    2. 在“复制选项”页上:
      • 名称中,输入“任务 2 中的线索”的名称。
      • 对于,选择一个域。
      • 对于别名,选择在任务 1 中创建的 Azure Synapse Analytics 连接。
      • 对于检查点表,选择为目标部署创建的检查点表。
    3. 在“Replicat 参数”页上,将 MAP *.*, TARGET *.*; 替换为:
      MAP SRC_OCIGGLL.SRC_CUSTOMER, TARGET dbo.SRC_CUSTOMER;
    4. 单击创建并运行
您将返回到“概览”页,您可以在其中查看 Replicat 详细信息。

任务 5:验证复制

对源自治事务处理实例执行一些更新,以验证复制到 Azure 数据湖存储。
  1. 在 Oracle Cloud 控制台中,打开导航菜单,选择 Oracle Database ,然后选择自治事务处理
  2. 在自治事务处理实例列表中,选择源实例以查看其详细信息。
  3. 在数据库详细信息页上,单击 Database Actions

    注意:

    应该自动登录。如果没有,请使用数据库身份证明登录。
  4. Database Actions 主页上,选择 SQL
  5. 在工作表中输入以下内容,然后单击运行脚本
  6. 在源 GoldenGate OCI GoldenGate 部署控制台中,选择 Extract 名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CUSTOMER 是否具有 7 个插入。
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1001,0,'Brendt','Paul','10 Jasper Blvd.',107,'(212) 555 2146',19,10);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1002,0,'McCarthy','Robin','27 Pasadena Drive',11,'(214) 555 3075',29,11);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1003,0,'Travis','Peter','7835 Hartford Drive',12,'(510) 555 4448',34,12);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1004,0,'Larson','Joe','87 Carmel Blvd.',13,'(213) 555 5095',45,13);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1005,0,'Goldschmidt','Tony','91 Torre drive',14,'(619) 555 6529',55,20);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1006,0,'Baker','William','2890 Grant Avenue',15,'(312) 555 7040',64,21);
    Insert into SRC_OCIGGLL.SRC_CUSTOMER (CUSTID,DEAR,LAST_NAME,FIRST_NAME,ADDRESS,CITY_ID,PHONE,AGE,SALES_PERS_ID) values (1007,0,'Swenson','Jack','64 Imagination Drive',19,'(202) 555 8125',74,22)
  7. 在目标大数据 OCI GoldenGate 部署控制台中,选择 Replicat 名称,然后单击统计信息。验证 SRC_OCIGGLL.SRC_CUSTOMER 是否具有 7 个插入。
  8. 在 Azure 控制台中,导航到 Azure Synapse 工作区控制台。运行 dbo.SRC_CUSTOMER 中的 Select * 并验证 SRC_OCIGGLL.SRC_CUSTOMER 是否具有 7 个插入。

任务 6:监控和维护流程

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