为 Google Cloud Spanner 添加复制
了解在 Oracle GoldenGate 部署中为 Google Cloud Spanner 添加复制之前所需的配置以及添加复制的步骤。
添加复制之前
在开始添加复制之前,您需要配置与 Google Cloud 的数据库连接,设置检查点表,并建立与 Google Cloud 的数据库连接。(可选)您还可以创建心跳表。
此外,请确保浏览受支持的数据类型、对象和操作的列表。有关详细信息,请参见Google Spanner:Supported Data Types,Objects and Operations 。
了解如何为 Oracle GoldenGate Replicat 配置 Google Cloud。
使用 IAM 验证与 Google Cloud 的连接
Google Spanner 是一个完全托管的云原生分布式数据库。对于适用于 Google Spanner 的 Oracle GoldenGate Replicat,将实施无密码验证。
Google Cloud Spanner 中的身份验证与传统的关系数据库(如 MySQL、PostgreSQL 或 SQL Server)有根本的不同,因为它不是直接登录的独立数据库服务器。
Spanner 使用 Google Cloud IAM(身份和访问管理),在云平台级别进行身份验证,而不是在 Google Spanner 内部进行。
以下步骤用于通过 IAM 验证与 Google Cloud 的连接:
-
用户应用程序通过 Google Cloud 验证,使用 JSON 文件中的服务账户凭证。
服务账户需要具有
roles/Spanner.databaseUser、roles/spanner.databaseAdmin角色。 -
下载身份证明文件:
-
登录您的 Google 帐户,网址为
cloud.google.com。 -
单击 "Console"(控制台),然后转到 "Dashboard"(显示板),从中可以选择项目。
-
从导航菜单中,单击 APIs & Services ,然后选择 Credentials 。
-
从 "Create Credentials" 菜单中,选择 "Service account key"。
-
选择用于下载系统的 JSON 身份证明文件的 JSON 密钥类型。在 Web 界面中添加数据库连接时,应将此 JSON 身份证明文件作为输入提供。
Spanner 仅支持
https_proxy,不支持http_proxy。如果连接到代理服务器后面的 Spanner,则必须设置https_proxy,并且不得设置http_server。可以在用于配置服务管理器的环境变量中设置https_proxy。 -
添加数据库连接、检查点表和脉动表
为 Google Cloud Spanner 添加复制的流程与添加任何复制的流程相同。在开始添加复制之前,请设置以下配置:
- 添加数据库连接。

-
创建数据库别名后连接到数据库,以确保连接成功。数据库连接后,可以添加检查点表。
-
单击“检查点”旁边的加号以打开“添加检查点”屏幕,并以
schema.table_name格式指定检查点表名。
-
单击提交。此时将添加检查点表。
-
在连接的数据库下的左侧导航窗格中,检查心跳表。已启用心跳表以检查心跳滞后。

为 Google Spanner 添加复制
在开始添加复制之前,请确保已设置数据库连接并创建了检查点表。有关详细信息,请参阅添加数据库连接、检查点表和心跳表。
使用以下步骤为 Google Spanner 创建经典或协调的复制:
-
打开 "Add Replicat"(添加复制)向导,然后选择 "Classic Replicat for Spanner"(适用于 Spanner 的经典复制)。

-
指定复制名称,然后单击 "Next"(下一步)。
-
指定复制选项,例如线索名称、目标身份证明和检查点表名称。

-
在“参数文件”屏幕上,指定
MAP和TARGET详细信息,然后单击创建并运行。这将创建 Spanner Replicat。
注:如果在 Replicat 参数的 MAP 语句中使用了不合格的表名,则方案名取自 GLOBALS 文件中指定的 GGSCHEMA。如果未在 GLOBALS 参数中定义 GGSCHEMA,则将默认(未命名)方案用于复制。
如果正确配置了所有规范,复制将成功运行。

使用管理客户机添加复制
在开始添加复制之前,请确保已设置数据库连接并创建了 checkpointtable 和 heartbeattable。有关详细信息,请参阅添加数据库连接、检查点表和心跳表。
使用以下步骤从管理客户端为 Google Spanner 创建经典或协调的复制:
-
从 Admin Client 提示符连接到部署。
-
运行以下命令以创建数据库连接:
ALTER CREDENTIALSTORE ADD USER "oggh-440221@xxxxxx/srcdb;client_secrets=/scratch/creds.json" nopassword alias spanner -
连接到在上一步中创建的数据库身份证明:
DBLOGIN USERIDALIAS spanner -
运行逗号以添加复制:
ADD REPLICAT nrep, classic, EXTTRAIL ea, checkpointtable ggadmin.ckpt1输出确认复制是否已成功添加。
-
可以使用
EDIT PARAMS命令在 Replicat 参数文件中为 Replicat 添加其他参数。EDIT PARAMS nrep在复制参数文件中指定所需的参数。下面是复制参数文件样例:
DDL EXCLUDE ALL DDLERROR default discard REPERROR (default,discard) DDLOPTIONS REPORT SOURCECATALOG spanner MAP hr.*, TARGET hr.*; -
启动复制并确保其成功运行。
START REPLICAT nrep### 其他引用 {#GUID-C737B199-8182-47BC-986C-088BC1171863}
请参见 Handling Transient and Permanent Errors in Replicat for Google Spanner ,了解如何在 Replicat for Google Cloud Spanner 中处理错误。