了解如何为与数据库交互的流程创建数据库用户,分配正确的权限并防止未经授权使用凭据。
主题:
- 为Oracle GoldenGate分配凭证
- 保护Oracle GoldenGate凭证
3.1 为Oracle GoldenGate分配凭证
Oracle GoldenGate进程需要一个或多个具有正确数据库权限的数据库凭证,以便使用数据库版本,数据库配置和Oracle GoldenGate功能。创建源数据库用户和目标数据库用户,每个用户专用于源系统和目标系统上的Oracle GoldenGate。所分配的用户可以是所有必须连接到源或目标Oracle数据库的Oracle GoldenGate进程的同一用户。
- 提取用户
- 复制用户
- 其他Oracle GoldenGate用户
- 授予适当的用户权限
3.1.1提取用户
Extract用户在源数据库上执行元数据查询,并在需要时从源表中提取数据。在集成捕获的本地挖掘部署中,此用户还创建,更改并连接到注册服务器,并从中接收逻辑更改记录(LCR)。 (请参阅决定使用哪种捕获方法以获取有关捕获模式的更多信息。)
如果源数据库是多租户容器数据库,则提取用户必须是普通用户,并且必须登录到根容器。有关更多信息,请参阅在多租户容器数据库中配置Oracle GoldenGate。
如果Extract将以集成捕获模式运行,并且您正在使用下游挖掘数据库,则需要分配额外的用户。此用户将成为挖掘用户,并在下游数据库中创建。挖掘用户创建,更改并连接到挖掘数据库上的日志挖掘服务器,并从中接收逻辑更改记录(LCR)。该用户可以与源摘录用户相同或不同。仔细选择采矿用户的名字。一旦由该用户创建,数据库登录服务器就不能被其他用户修改或使用。有关配置下游挖掘的更多信息,请参阅配置下游挖掘数据库。
3.1.2复制用户
Replicat用户创建Replicat检查点表(如果使用的话),并通过Oracle调用接口或通过数据库入站服务器应用DML和DDL操作,具体取决于复制模式,请参阅决定使用哪种应用方法.
3.1.3其他Oracle GoldenGate用户
如果您使用Oracle GoldenGate DDL支持,则Manager进程的源数据库中需要用户。此用户对支持DDL捕获的Oracle GoldenGate数据库对象执行维护。
DEFGEN实用程序的源或目标数据库中都需要用户。位置取决于正在生成数据定义文件的位置。此用户执行本地元数据查询以构建将元数据提供给远程Oracle GoldenGate实例的数据定义文件。有关数据定义文件的更多信息,请参阅管理Oracle GoldenGate。
如果Extract将以经典捕捉模式运行,则可能需要其他用户或特权才能使用以下功能:
- RMAN日志保留,请参阅日志保留选项。
- TDE支持,请参阅在经典捕获模式下配置Oracle TDE数据。
- ASM,请参阅在经典捕获模式下挖掘ASM存储的日志。
3.1.4授予适当的用户权限
Oracle GoldenGate所需的用户权限取决于数据库版本以及Extract或Replicat过程模式。有关过程模式的更多信息,请参阅选择捕捉和应用模式。
- Oracle 11.2.0.4或更高版本数据库权限
- Oracle 11.2.0.3或更早版本的数据库权限
- 关于dbms_goldengate_auth.grant_admin_privilege包
- FMW概念主题标题
3.1.4.1 Oracle 11.2.0.4或更高版本的数据库权限
参见原文
3.1.4.2 Oracle 11.2.0.3或更早版本的数据库特权
参见原文
3.1.4.3关于dbms_goldengate_auth.grant_admin_privilege包
通过dbms_goldengate_auth.grant_admin_privilege包授予Extract和Replicat在经典和集成模式下运行所需的大部分特权。
- 以下授予Oracle 11.2.0.4及更高版本的基本权限。第一个例子是默认的,既可以捕获也可以应用。第二个显示如何明确授予捕获或应用(在这种情况下,捕获)。
grant_admin_privilege('ggadm')
grant_admin_privilege('ggadm','capture'); - 以下授予Oracle 11.2.0.3的基本权限。第一个例子是默认的,既可以捕获也可以应用。第二个显示如何明确授予捕获。
grant_admin_privilege('ggadm',grant_select_privileges=>true)
grant_admin_privilege('ggadm','capture',grant_select_privileges=>true)
3.1.4.4 FMW概念主题标题
(必填)在此输入介绍性文字,包括概念的定义和目的。
章节标题
(可选)如果需要另一节标题,则使用节来添加和组织相关内容。
示例3-1示例标题
(可选)在包含具有概念主题的示例时,使用节来添加和组织相关示例。
3.2保护Oracle GoldenGate凭证
为了保护数据的安全性并准确监控Oracle GoldenGate处理,请勿允许其他用户,应用程序或进程以Oracle GoldenGate数据库用户身份登录或以其身份运行。
Oracle GoldenGate为保护分配给Oracle GoldenGate进程的登录凭证提供了不同的选项。推荐的选项是使用凭证存储。您可以创建一个凭证存储并将其存储在所有Oracle GoldenGate安装可以访问的共享位置,也可以在安装Oracle GoldenGate的每个系统上单独创建一个。
凭证存储存储每个分配的Oracle GoldenGate用户的用户名和密码。用户标识与一个或多个别名相关联,它是在命令和参数文件中提供的别名,而不是实际的用户名或密码。凭证文件可以分为域,允许一组标准的别名用于流程,同时允许每个系统上的管理员在本地管理凭证。
有关创建凭证存储和添加用户凭证的更多信息,请参阅管理Oracle GoldenGate。https://docs.oracle.com/goldengate/c1221/gg-winux/GWUAD/configuring-oracle-goldengate-security.htm#GWUAD354
(OGG的文档有的在12.2的低版本中才能找到,12.3中没有)
参考资料
https://docs.oracle.com/goldengate/c1230/gg-winux/GGODB/establishing-oracle-goldengate-credentials.htm#GGODB-GUID-E40B375A-5042-4195-B563-BE7EDC251880