在使用 Oracle Golden Gate 将带有 Oracle RAC 数据库的主站点复制到辅助站点(和主动/主动备份)的场景中,我们怀疑未使用的辅助站点发生意外更改。
这个问题有点难以调试,因为我们没有直接的 DBA 访问权限。我想知道是否有一种简单的方法可以在主端进行非特权 SQL 访问,以查看是否从其他数据库收到任何更改?
我能否查看 OGG 活动的计数器或时间戳,以帮助我追踪所创建的 DML?
据我了解,在设置触发器或审核时,我可以看到 OGG 用户的更改 - 但是在这种情况下两者都不可用。
简短的回答是“否”,如果没有较低级别的详细信息,您将无法可靠地证明这一点。审计和触发器将从数据库层开始工作。如果您有权访问 GoldenGate Trail 文件(包含所有提取更改的文件),您可以准确地看到 GoldenGate 将使用
logdump
(OGG 附带的另一个二进制文件)复制的内容。听起来您有双向复制(主动-主动返回)。如果是这样,您的提取过程应该配置为忽略您的 OGG 用户,因为您不想将更改复制回源。
另一件事要考虑是否在您未使用的/辅助站点上启用了触发器。我已经看到在接收方未禁用触发器时会发生奇怪的事情(重复的历史记录、唯一密钥违规等)。
此外,如果您的辅助站点未被使用,也许 DataGuard 是更好的解决方案。这完全取决于您的软件和基础架构。它不是双向解决方案,但可以说是比 OGG 更简单的解决方案。