将数据从 YugabyteDB 复制到自治 AI 事务处理
了解如何使用 OCI GoldenGate 将数据从 YugabyteDB 源复制到自治 AI 事务处理目标。
开始之前
要成功完成此快速入门,请确保您具有:
-
充当源数据库的 YugabyteDB 安装
-
自治 AI 事务处理实例,用作目标数据库。
设置 YugabyteDB
要设置 YugabyteDB 实例,请执行以下操作:
-
如果使用 Oracle Cloud Compute 来托管 YugabyteDB,请打开端口 5433:
sudo firewall-cmd --permanent --add-port=5432/tcp sudo firewall-cmd --reload sudo firewall-cmd --list-all -
在 VCN 的安全列表中打开端口 5433。
-
Connect to YugabyteDB (连接到 YugabyteDB)。
-
运行以下命令以设置用户。确保将
<password>占位符替换为实际密码。create user ggadmin with password '<password>'; alter user ggadmin with SUPERUSER; GRANT ALL PRIVILEGES ON DATABASE ociggll TO ggadmin;
环境设置:自治 AI 事务处理 (ATP)
-
下载并解压缩示例数据库方案。
-
解锁 GGADMIN 用户。
-
在 Oracle Cloud 控制台中,从“Autonomous AI Databases(自治 AI 数据库)”页面中选择 ATP 实例,以查看其详细信息并访问 Database Actions。
-
选择数据库操作,然后选择数据库用户。
-
找到 GGADMIN ,然后选择其省略号菜单(三个点)并选择编辑。
-
在 "Edit User"(编辑用户)面板中,输入 GGADMIN 密码,确认密码,然后取消选择 Account is Locked 。
-
选择 Apply Changes(应用更改)。
-
-
加载目标示例方案和数据。
-
从“Database Actions(数据库操作)”菜单中,选择 SQL 。
-
将脚本从 OCIGGLL_OCIGGS_SETUP_USERS_ADW.sql 复制并粘贴到 SQL 工作表中。
-
选择运行脚本。“Script Output(脚本输出)”选项卡显示确认消息。
-
清除 SQL 工作表,然后从 OCIGGLL_OCIGGS_SRC_MIRROR_USER_SEED_DATA.sql 复制并粘贴 SQL。
-
要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找 SRC_OCIGGLL 方案,然后从其各自的下拉列表中选择表。
-
任务 1:创建 OCI GoldenGate 资源
此快速入门示例需要源和目标的部署和连接。
-
为源 PostgreSQL 数据库创建部署。
-
为目标自治 AI 事务处理实例创建部署。
-
-
对于类型,请确保选择 YugabyteDB 。
-
对于 Database name(数据库名称),输入 YugabyteDB 名称。
-
对于主机,输入 YugabyteDB 运行的计算实例的公共 IP。
-
对于端口,输入
5433。 -
对于用户名,输入
ggadmin。 -
对于 Password(密码),输入密码。
-
对于 Security Protocol(安全协议),选择 Plain(普通)。
-
任务 2:启用补充日志记录
要启用补充日志记录,请执行以下操作:
-
启动 PostgreSQL GoldenGate 部署控制台:
-
从“Deployments(部署)”页面中,选择 PostgreSQL 部署以查看其详细信息。
-
在 PostgreSQL 部署详细信息页上,选择启动控制台。
-
在部署控制台登录页面上,输入任务 1 步骤 1 中提供的 GoldenGate 管理身份证明。
注:如果在创建部署时未选择 IAM 作为身份证明存储,则需要登录。
-
-
在部署控制台中,在左侧导航中选择 DB Connections(DB 连接),然后选择源 PostgreSQL 数据库,然后选择 Trandata 。
-
在“TRANDATA”页的“TRANDATA 信息”旁边,选择添加 TRANDATA (加号图标)。
-
在 "Trandata" 面板中,对于方案名称,输入
src_ociggll,然后选择提交。注:使用搜索字段搜索
src_ociggll并验证是否已添加表。
任务 3:创建提取
-
添加更改数据捕获提取:
-
在左侧导航中,选择提取,
-
在“提取”页上,选择添加提取(加号图标),然后按如下方式填写字段:
-
在“提取信息”页面上:
-
对于提取类型,选择更改数据捕获提取。
-
对于流程名称,输入提取的名称,例如
ECDC。 -
选择 Next 。
-
-
在“提取选项”页面上:
-
对于源身份证明,请从域下拉列表中选择 Oracle GoldenGate
-
从 Alias(别名)下拉列表中选择源 PostgreSQL 数据库。
-
对于“提取线索名称”,输入两个字符的线索名称,例如
C1。 -
选择 Next 。
-
-
在“提取参数”页上,将
MAP *.*, TARGET *.*;替换为以下内容:TABLE SRC_OCIGGLL.*;
-
-
选择创建并运行。
-
-
添加初始加载提取:
-
在“提取”页上,选择添加提取,然后按如下方式填写“添加提取”表单:
-
在“提取信息”页面上:
-
对于“提取”类型,选择初始加载提取。
-
对于进程名称,输入名称,如
EIL。 -
选择 Next 。
-
-
在“提取选项”页面上:
-
对于源身份证明,请从域下拉列表中选择 Oracle GoldenGate 。
-
从 Alias(别名)下拉列表中选择 PostgreSQL 数据库。
-
对于提取线索名称,输入两个字符的线索名称,例如
I1。 -
选择 Next 。
-
-
在“提取参数”页上,将文本区域的内容替换为以下内容:
EXTRACT EIL USERIDALIAS PostgreSQL_Compute, DOMAIN OracleGoldenGate EXTFILE I1, PURGE TABLE src_ociggll.*;注:在继续操作之前,请确保删除
USERIDALIAS前面的SOURCEDB参数。
-
-
选择创建并运行。
-
返回到“提取”页面,在此页面可以看到“提取”开始。
任务 4:创建初始加载提取的分配路径
-
在部署详细信息页上,选择启动控制台,然后以管理员用户身份登录。
-
如果使用 IAM 身份证明存储,请继续执行 "Create a Distribution Path"(创建分发路径)步骤。如果使用 GoldenGate 身份证明存储,则创建源 GoldenGate 用于连接到目标 GoldenGate 的用户。
-
在导航菜单中,选择 User Administration 。
-
选择添加新用户(加号图标),按如下所示填写字段,然后选择提交:
-
对于用户名,输入
ggsnet。 -
对于角色,选择运算符。
-
输入两次口令进行验证。
-
-
-
在 source PostgreSQL 部署控制台中,为上一步中创建的用户创建路径连接。
-
在导航菜单中,选择路径连接。
-
选择添加路径连接(加号图标),按如下所示填写字段,然后选择提交:
-
对于身份证明别名,请输入
dpuser。 -
对于用户 ID,输入
ggsnet -
对于“Password(密码)”,输入上一步中使用的相同密码。
-
-
-
创建分配路径。
-
在服务菜单栏中,选择路径,然后选择添加分发路径(加号图标)。
-
按如下方式完成“Add Path(添加路径)”表单:
-
在“路径信息”页面上:
-
对于 Path Name(路径名),输入此路径的名称。
-
选择 Next 。
-
-
在“来源选项”页面上:
-
对于源提取,留空。
-
对于线索名称,输入“初始装入提取”线索名称 (
I1)。 -
选择 Next 。
-
-
在“目标选项”页面上:
-
对于目标,选择 wss 。
-
对于目标主机,输入目标部署 URL,不带 https:// 或任何尾随斜杠。
-
在端口号中,输入
443。 -
对于线索名称,输入
I1。 -
对于目标验证方法,选择用户 ID 别名。
-
对于域,输入在上一步中创建的域名。
-
对于 Alias ,输入在上一步 (
dpuser) 中创建的别名。 -
选择 Next 。
-
-
-
选择创建并运行。
返回到“分配服务”页面,您可以在该页面中查看创建的路径。
-
-
在 target 部署控制台中,查看通过分发路径创建的接收器路径:
-
选择路径。
-
查看路径详细信息。
-
任务 5:为初始加载添加复制
-
在 target Oracle 部署中,添加检查点表。
-
在导航菜单中,选择 DB Connections
-
选择目标自治 AI 数据库实例,然后选择检查点。
-
在“检查点”页上,选择添加检查点(加号图标)。
-
在 "Checkpoint"(检查点)面板中,对于 Schema Table(方案表),输入
SRCMIRROR_OCIGGLL.CHECKTABLE。 -
选择提交。
-
-
添加复制。
-
在导航菜单中选择 "Replicats"。
-
在 "Replicats"(复制)页面上,选择 Add Replicat(添加复制)(加号图标),然后按如下方式填写 "Add Replicat"(添加复制)字段:
-
在“复制信息”页上:
-
对于复制类型,选择未集成的复制。
-
对于进程名称,输入名称,如
RIL。 -
选择 Next
-
-
在“复制选项”页面上:
-
对于复制线索名称,输入任务 2 (
I1) 中的线索名称。 -
对于目标身份证明,为自治 AI 数据库连接选择域和别名。
-
对于检查点表,选择在步骤 1 中创建的检查点表。
-
选择 Next 。
-
-
在“参数文件”页上,将
MAP *.*, TARGET *.*;替换为以下内容:MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
-
-
选择创建并运行。
返回到 "Replicats"(复制)页面,您可以在该页面中查看复制详细信息。
-
-
选择复制 ( RIL ) 并查看其 Details 。
-
选择统计信息并查看插入数。刷新页。
-
如果插入数未更改,则已装入初始装入中的所有记录,您可以停止复制 ( RIL )
-
如果插入数继续增加,则继续刷新页面,直到全部加载初始加载记录,然后再继续。
-
-
验证初始装入。
-
在 Oracle Cloud 控制台的“Autonomous AI Database(自治 AI 数据库)”详细信息页面上,选择 Database actions(数据库操作),然后选择 SQL 。
-
在 SQL 工具中,将以下每个语句输入到工作表中,然后选择运行语句:
SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CITY; SELECT * FROM SRCMIRROR_OCIGGLL.SRC_CUSTOMER;
输出应返回由于初始加载而加载到目标数据库表中的数据。
-
任务 6:为更改数据捕获提取创建分配路径
-
在 source PostgreSQL 部署控制台中,选择 Distribution Service 。
-
选择添加分发路径。
-
按如下方式完成“Add Path(添加路径)”表单:
-
在“路径信息”页面上:
-
在路径名中,输入名称。
-
选择 Next 。
-
-
在“来源选项”页面上:
-
对于源提取,选择更改数据捕获提取 (
ECDC)。 -
对于线索名称,选择更改数据捕获线索文件 (
C1)。 -
选择 Next 。
-
-
在“目标选项”页面上:
-
对于目标,选择 wss 。
-
对于目标主机,输入目标部署控制台 URL(您可以在部署详细信息页上找到此 URL,不带 https:// 或任何尾随斜杠)。
-
在端口号中,输入
443。 -
对于线索名称,输入
C1。 -
对于目标验证方法,选择用户 ID 别名。
-
对于域,输入域名。
-
对于 Alias ,输入别名。
-
-
选择创建路径并运行。
-
任务 7:添加用于更改数据捕获的复制
-
在 target Oracle 部署控制台中,添加复制。
-
在 "Administration Service" 导航菜单中,选择 "Replicats"。
-
在 "Replicats"(复制)页面上,选择 "Add Replicat"(添加复制)(加号图标),然后按如下方式填写 "Add Replicat"(添加复制)表单:
-
在“复制信息”页上:
-
对于复制类型,选择未集成的复制。
-
对于进程名称,输入名称,如
RCDC。 -
选择 Next 。
-
-
在“复制选项”页面上:
-
对于复制线索名称,输入任务 3 (
C1) 中的线索名称。 -
对于目标身份证明,选择自治 AI 数据库连接的域和别名。
-
对于 Checkpoint Table ,选择 Checkpoint 表。
-
-
在“复制参数”页上,将
MAP *.*, TARGET *.*;替换为以下映射:MAP SRC_OCIGGLL.*, TARGET SRCMIRROR_OCIGGLL.*;
-
-
选择创建。请勿运行复制。
-
-
在 "Replicats"(复制)页面上,选择 "Replicat for Initial Load"(初始装入的复制)( RIL ) 并查看其详细信息。
-
选择统计信息并查看插入数。刷新页。
-
如果插入数未更改,则已加载初始加载中的所有记录,您可以停止复制 (RIL)
-
如果插入数继续增加,则继续刷新页面,直到全部加载“初始加载”记录,然后再继续。
注:如果看不到任何插入,请选择性能度量服务,选择提取,然后选择数据库统计信息。
-
-
返回到“复制”页,然后启动用于更改数据捕获 (RCDC) 的复制。
-
启动用于更改数据捕获的复制后,查看其详细信息和统计信息以查看插入数。
-
验证复制:
-
运行以下脚本以对 PostgreSQL 数据库执行插入:
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); -
在源 PostgreSQL 部署控制台中,选择更改数据捕获提取 (
ECDC),然后选择统计信息。验证 src_ociggll.src_city 是否具有 10 个插入。注:如果提取未捕获任何插入,则重新启动
ECDC提取。 -
在目标 Oracle 部署控制台中,选择复制名称 (
RCDC),查看其详细信息,然后检查统计信息。验证SRCMIRROR_OCIGGLL.SRC_CITY是否具有 10 个插入。
-