配置与 SQL Server 的连接

了解数据库端连接 Oracle GoldenGate 所需的用户权限以及设置 Oracle AI Database 与 Oracle GoldenGate 连接的配置说明。

为 SQL Server 准备数据库用户和权限

Oracle GoldenGate 进程需要数据库用户才能从 SQL Server 数据库中捕获数据并将数据应用于 SQL Server 数据库,建议创建专供 Oracle GoldenGate 进程使用的专用数据库用户。

Oracle GoldenGate for SQL Server 支持其所有认证平台的 SQL Server 验证。

要使用 SQL Server 验证,请为 Extract 和 Replicat 创建专用 SQL Server 登录,并分配下面列出的权限。

必需的数据库权限

SQL Server 和 Azure SQL 托管实例

Oracle GoldenGate 需要以下用户要求以及最低数据库权限和权限才能从 SQL Server 或 Azure SQL 托管实例数据库捕获并应用到该数据库。1。为 Oracle GoldenGate for SQL Server 或 Azure SQL 受管实例创建专用登录。

  1. 将以用户身份登录添加到 msdb 数据库和源或目标数据库。

  2. 在源或目标数据库中创建方案,以用于 Oracle GoldenGate 所需的对象。此方案应映射到 GLOBALS 参数文件中使用的 GGSCHEMA 值。

  3. 根据用户是用于提取还是用于复制,为 Oracle GoldenGate 用户启用以下权限和权限。

表 3:权限和权限

权限 提取 复制 语法

msdb 数据库角色和特权

SQLAgentReaderRole

是

否

ALTER ROLE SQLAgentReaderRole ADD MEMBER gguser;

SQLAgentUserRole

继承

是

ALTER ROLE SQLAgentUserRole ADD MEMBER gguser;

用户数据库角色和权限

SYSADMIN

是

否

启用数据库级别更改数据捕获 (Change Data Capture,CDC)(如果尚未启用)并且可以在启用 TRANDATA 后撤消,则一次性更改是必需的。

ALTER SERVER ROLE sysadmin ADD MEMBER gguser;

具有 sysadmin 身份证明的数据库管理员可以使用以下项手动为 CDC 启用数据库,这将无需 Extract 用户具有此权限:

EXEC sys.sp_cdc_enable_db;

DBOWNER

是

是

ALTER ROLE db_owner ADD MEMBER gguser;

适用于 SQL Server 的 Amazon RDS

Oracle GoldenGate 需要以下用户要求以及最低数据库权限和权限,才能从 Amazon RDS for SQL Server 数据库进行捕获并应用于该数据库:

  1. 为 Oracle GoldenGate for Amazon RDS for SQL Server 创建专用登录。

  2. 以用户身份将登录添加到 msdb 数据库以及源或目标数据库。

  3. 在源或目标数据库中创建方案,以用于 Oracle GoldenGate 所需的对象。此方案应映射到 GLOBALS 参数文件中使用的 GGSCHEMA 值。

  4. 根据用户是用于提取还是用于复制,为 Oracle GoldenGate 用户启用以下权限和权限。

表 4 中的特权和权限

权限 提取 复制 语法

msdb 数据库角色和特权

EXECUTE ON rds_cdc_enable_db

是

否

GRANT EXECUTE ON msdb.dbo.rds_cdc_enable_db TO gguser;

具有主身份证明的数据库管理员可以使用以下命令手动启用数据库以进行更改数据捕获,这将无需提取用户具有此权限:

EXEC msdb.dbo.rds_cdc_enable_db 'source_database'

SQLAgentOperatorRole

是

否

ALTER ROLE SQLAgentOperatorRole ADD MEMBER gguser;

SQLAgentUserRole

继承

是

ALTER ROLE SQLAgentUserRole ADD MEMBER gguser;

用户数据库角色和权限

DBOWNER

是

是

ALTER ROLE db_owner ADD MEMBER gguser;

Azure SQL 数据库

要将 Oracle GoldenGate 应用于 Azure SQL 数据库,需要满足以下用户要求以及最低数据库权限和权限:

  1. 为 Oracle GoldenGate for Azure SQL 数据库创建专用登录。

  2. 将登录作为用户添加到目标数据库。

  3. 在目标数据库中创建方案,以用于 Oracle GoldenGate 所需的对象。此方案应映射到 GLOBALS 参数文件中使用的 GGSCHEMA 值。

  4. 为 Oracle GoldenGate 用户启用以下权限和权限。

表 5:Oracle GoldenGate 用户的权限

权限 提取 复制 语法

用户数据库角色和权限

DBOWNER

不适用

是

ALTER ROLE db_owner ADD MEMBER gguser;

适用于 SQL Server 的 Google Cloud SQL

Oracle GoldenGate 需要以下用户要求以及最低数据库权限和权限,才能从 Google Cloud SQL for SQL Server 数据库获取数据并将其应用于数据库:

  1. 为 Oracle GoldenGate Google Cloud SQL for SQL Server 创建专用登录。必须从 Google Cloud 仪表盘的用户部分内为数据库实例创建用户。

  2. 将用户添加到源或目标数据库。

  3. 在源或目标数据库中创建方案,以用于 Oracle GoldenGate 所需的对象。此方案应映射到 GLOBALS 参数文件中使用的 GGSCHEMA 值。

  4. 如果要将数据库用作提取的来源,请手动为更改数据捕获 (CDC) 启用数据库:

    EXEC msdb.dbo.gcloudsql_cdc_enable_db 'source_database';

  5. 根据用户是用于提取还是用于复制,为 Oracle GoldenGate 用户启用以下权限和权限。

表 6:权限和权限

权限 提取 复制 语法

用户数据库角色和权限

DBOWNER

是

是

ALTER ROLE db_owner ADD MEMBER gguser;