将数据从自治 AI 事务处理复制到 Azure Synapse Analytics
此快速入门演示如何使用 OCI GoldenGate 设置从 Autonomous AI Transaction Processing 到 Azure Synapse Analytics 的数据复制。
开始之前
要成功完成此快速入门,您必须具有以下各项:
-
与 Azure Synapse Analytics Workspace 关联的 Azure 存储容器
-
Azure Synapse Analytics 数据库范围身份证明,用于向 SQL 池授予访问存储账户的权限
-
目标表存在:在复制之前,目标表应存在于 Synapse 数据库中。由于 GoldenGate 使用 Merge SQL 语句,因此目标表必须是散列分布表。
-
分配给部署的 OCI GoldenGate Azure 数据湖存储连接。如果不存在,请创建 Azure 数据湖存储连接并分配给部署。
环境设置:自治 AI 事务处理
如果您尚未为复制设置源数据库,则可以按照以下步骤加载要用于此快速入门的示例方案。此快速入门将自治 AI 事务处理用于源数据库。
要设置源 Autonomous AI Transaction Processing,请执行以下操作:
-
下载并解压缩示例数据库方案。
-
在 Oracle Cloud 控制台中,从“Autonomous AI Database(自治 AI 数据库)”页面中选择您的自治 AI 事务处理 (ATP) 实例,以查看其详细信息并访问 Database Actions。
-
解锁 GGADMIN 用户:
-
选择数据库操作,然后选择数据库用户。
-
找到 GGADMIN,然后选择其省略号菜单(三个点),然后选择编辑。
-
在 "Edit User"(编辑用户)面板中,输入 GGADMIN 密码,确认密码,然后取消选择 Account is Locked 。
-
选择 Apply Changes(应用更改)。
-
-
加载源示例方案和数据:
-
从“数据库操作”菜单的“开发”下,选择 SQL 。
-
将脚本从
OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql复制并粘贴到 SQL 工作表中。 -
选择运行脚本。“Script Output(脚本输出)”选项卡显示确认消息。
-
清除 SQL 工作表,然后从
OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql.复制并粘贴 SQL 脚本提示:您可能需要单独运行每个语句,SQL 工具才能成功执行脚本。
-
要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找
SRC_OCIGGLL方案,然后从其各自的下拉列表中选择表。
-
-
启用补充事件记录:
-
清除 SQL 工作表。
-
输入以下语句,然后选择运行语句:
ALTER PLUGGABLE DATABASE ADD SUPPLEMENTAL LOG DATA;
-
环境设置:Azure Synapse Analytics
-
打开 Azure Synapse Analytics Workspace 。
-
依次选择新建和 SQL 脚本。
-
连接到 SQL 池并选择数据库。
-
输入以下命令以创建主密钥加密:
CREATE MASTER KEY ENCRYPTION BY PASSWORD='<password>'; -
使用以下命令创建数据库范围的身份证明:
确保将
<storage-account-name>和<storage-account-access-key>占位符替换为其实际值。CREATE DATABASE SCOPED CREDENTIAL <credential name> WITH IDENTITY='<storage-account-name>', SECRET='<storage-account-access-key>'; -
运行创建表脚本:
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 -
验证是否已创建
dbo.SRC_Customer表。
任务 1:创建 OCI GoldenGate 资源
此快速入门示例需要源和目标的部署和连接。
-
为源自治 AI 事务处理实例创建 Oracle 部署。
-
为目标 Azure Synapse Analytics 创建大数据部署。
任务 2:添加提取
-
在“Deployments(部署)”页面上,选择源 Autonomous AI Transaction Processing 部署。
-
在部署详细信息页上,选择启动控制台。
-
使用源部署的管理员用户名和密码登录。
-
添加提取。
任务 3:添加并运行分发路径
-
如果使用 GoldenGate 身份证明存储,请在目标大数据部署中为分发路径创建用户,否则跳至步骤 3。
-
在 source GoldenGate 部署控制台中,为在步骤 1 中创建的用户添加路径连接。
-
在源 GoldenGate 部署控制台中,在左侧导航中选择 Path Connections(路径连接)。
-
选择添加路径连接(加号图标),然后完成以下操作:
-
对于身份证明别名,输入
GGSNetwork。 -
对于用户 ID ,输入在步骤 1 中创建的用户的名称。
-
输入用户的密码两次以进行验证。
-
-
选择提交。
路径连接将显示在“路径连接”列表中。
-
-
在 source 部署控制台中, add a Distribution Path with the following values:
-
在源选项页上:
-
对于源提取,选择在任务 2 中创建的提取。
-
对于线索名称,输入两个字符的名称,例如
E1。
-
-
在目标选项页上:
-
对于目标主机,输入目标部署的主机域。
-
在端口号中,输入
443。 -
对于线索名称,输入两个字符的名称,例如
E1。 -
对于别名,输入在步骤 2 中创建的身份证明别名。
-
-
-
在 target 大数据部署控制台中,查看作为分发路径结果创建的接收器路径。
-
在目标大数据部署控制台中,选择接收方服务。
-
查看路径详细信息。此路径是在上一步中创建的分发路径的结果创建的。
-
任务 4:添加并运行复制
-
在目标大数据部署控制台中,选择复制,然后选择添加复制(加号图标)。
-
Add a Replicat ,包含以下值:
-
在“复制信息”页的“复制”类型下,选择经典复制,输入进程名称,然后选择下一步。
-
在“复制选项”页上:
-
对于名称,输入任务 2 中的线索名称。
-
对于域,选择一个域。
-
对于别名,选择在任务 1 中创建的 Azure Synapse Analytics 连接。
-
对于检查点表,选择为目标部署创建的检查点表。
-
-
在“复制参数”页上,将
MAP *.*, TARGET *.*;替换为:MAP SRC_OCIGGLL.SRC_CUSTOMER, TARGET dbo.SRC_CUSTOMER; -
在“复制属性”页面上,配置 Azure Synapse Analytics 属性:
注:编辑标记为
TODO的属性。-
gg.eventhandler.abs.bucketMappingTemplate是与 Azure Synapse Analytics 工作区关联的 Azure 存储容器 -
gg.eventhandler.synapse.credential是用于验证与 Azure Synapse Analytics Workspace 关联的 Azure 存储容器的身份证明的名称
-
-
-
选择创建并运行。
您将返回到 "Overview"(概述)页面,您可以在该页面中查看复制详细信息。
任务 5:验证复制
对源自治 AI 事务处理实例执行一些更新以验证复制到 Azure 数据湖存储。
-
在 Oracle Cloud 控制台中,打开导航菜单,选择 Oracle AI Database ,然后选择 Autonomous AI Transaction Processing 。
-
在自治 AI 事务处理实例列表中,选择源实例以查看其详细信息。
-
在“数据库详细信息”页上,选择数据库操作。
注:您应该自动登录。如果没有,则使用数据库身份证明登录。
-
在 Database Actions 主页中,选择 SQL 。
-
在工作表中输入以下内容,然后选择运行脚本。
-
在源 GoldenGate OCI GoldenGate 部署控制台中,选择提取名称,然后选择统计信息。验证 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) -
在目标 Big Data OCI GoldenGate 部署控制台中,选择复制名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CUSTOMER 是否有 7 个插入。
-
在 Azure 控制台中,导航到 Azure Synapse Analytics 工作区控制台。从 dbo.SRC_CUSTOMER 运行 Select * 并验证 SRC_OCIGGLL.SRC_CUSTOMER 是否有 7 个插入。