将数据从 Amazon RDS for Oracle 复制到 Oracle Object Storage
了解如何使用 Oracle Cloud Infrastructure GoldenGate 将 Amazon RDS for Oracle 的数据复制到 Oracle 对象存储。
开始之前
要成功完成此快速入门,您必须具有以下各项:
-
注册或登录您的 Oracle Cloud 账户。
-
Oracle 实例的源 Amazon RDS,在环境设置中进行了说明。
环境设置:Amazon RDS for Oracle
预配 Amazon RDS for Oracle 实例,然后使用以下步骤设置源数据库以与 Oracle GoldenGate 一起使用。
-
对源数据库启用补充日志记录。
-
将
ENABLE_GOLDENGATE_REPLICATION初始化参数设置为true。 -
在源数据库上启用归档并保留归档重做日志。
-
在源数据库上创建 Oracle GoldenGate 用户账户。
-
为源数据库授予用户帐户权限。
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); -
下载并解压缩示例数据库方案。
-
加载源示例方案和数据:
-
以
SRC_OCIGGLL用户身份从 SQL Developer 连接到 Amazon RDS for Oracle 实例。 -
将脚本从
OCIGGLL_OCIGGS_SETUP_USERS_ATP.sql复制并粘贴到 SQL 工作表中。 -
选择运行脚本。脚本输出选项卡显示确认消息。
-
清除 SQL 工作表,然后从
OCIGGLL_OCIGGS_SRC_USER_SEED_DATA.sql复制并粘贴 SQL 脚本。提示:您可能需要单独运行每个语句,SQL 工具才能成功执行脚本。
-
要验证表是否已成功创建,请关闭 SQL 窗口,然后重新打开它。在“Navigator(导航器)”选项卡中,查找
SRC_OCIGGLL方案,然后从其各自的下拉列表中选择表。
-
任务 1:创建 OCI GoldenGate 资源
-
为 Oracle 实例的源 Amazon RDS 创建 Oracle 部署。
-
创建大数据部署目标 Oracle 对象存储桶。
-
为源 Amazon RDS for Oracle 实例创建连接。
-
如果您的大数据部署没有公共端点,请创建与 GoldenGate 的连接,并将此连接分配给源 Oracle 部署。
任务 2:添加并运行提取
-
在“Deployments(部署)”页面上,选择 Oracle 部署的源 Amazon RDS。
-
在部署详细信息页上,选择启动控制台。
-
使用源部署的管理员用户名和密码登录。
-
添加提取。
任务 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:添加并运行复制
-
在目标“大数据”部署控制台导航菜单中,选择复制。
-
在 "Replicats"(复制)页面上,选择 Add Replicat(添加复制)(加号图标),然后按如下方式填写表单:
-
在“复制信息”页上:
-
对于 Replicat Type(复制类型),选择 Classic Replicat 。
-
对于进程名称,输入名称,如
REP
-
-
在“复制选项”页面上:
-
对于 Replicat Trail Name(复制线索名称),输入两个字符的名称,例如
E1。 -
对于“目标”,选择 Oracle 对象存储
-
-
在“参数文件”页上,将
MAP *.*, TARGET *.*;替换为:MAP SRC_OCIGGLL.*, TARGET *.*; -
在“Properties File(属性文件)”页上,根据需要配置 OCI Event Handler 属性。
必需的属性:
-
gg.eventhandler.oci.compartmentID:Oracle 对象存储存储桶所在的区间 OCID。 -
gg.handler.oci.fileNameMappingTemplate:使用模板关键字动态生成文件名。
您可以考虑修改的属性包括:
-
gg.handler.oci.format:选择如何设置输出的格式。json_row是默认设置。可用的选项包括:-
提示:要将 formatting 属性用于 Oracle 对象存储,请将
name替换为oci。例如,gg.handler.name.format变为gg.handler.oci.format。
-
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:验证复制
对源 Amazon RDS for Oracle 实例执行一些更新以验证复制到 Oracle 对象存储。
-
以
SRC_OCIGGLL用户身份从 SQL Developer 连接到 Amazon RDS for Oracle 实例。 -
在工作表中输入以下内容,然后选择运行脚本。
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); -
在源 GoldenGate OCI GoldenGate 部署控制台中,选择提取名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。
-
在目标 Big Data OCI GoldenGate 部署控制台中,选择复制名称,然后选择统计信息。验证 SRC_OCIGGLL.SRC_CITY 是否具有 10 个插入。