问题1:Flink CDC中Oracle cdc用system用户为什么只捕获HR schema的数据变更?其他schema为啥捕获不了?是权限问题吗?
问题2:那怎么指定这个库?
在 Flink CDC 中,Oracle CDC 使用 system 用户主要捕获 HR schema 的数据变更是因为权限问题。系统用户(如 system
)具有访问 Oracle 数据库的特权权限,并且可以查看和修改所有用户的数据。
其他 schema 可能由于以下原因无法被捕获:
权限限制:其他 schema 可能受到了更严格的权限限制,使得 system 用户无法访问或操作这些 schema 中的数据。这可能是出于安全性考虑,以限制对敏感数据的访问。
配置问题:Flink CDC 配置中可能只指定了 HR schema,而没有包括其他 schema。这可能是意图选择仅监视 HR schema 的数据变更,而排除其他 schema。
使用系统用户连接 Oracle 数据库进行 CDC,仅捕获 HR schema 的数据变更,可能是因为在 Oracle 数据库中,系统用户(例如 system)具有访问所有 schema 的权限,但是并不一定具有所有 schema 中数据的读写权限。因此,在使用系统用户进行 CDC 时,只能捕获系统用户有读写权限的 schema 中的数据变更。
解决此问题的方法是,在 Oracle 数据库中为系统用户授予 HR schema 以外 schema 的读写权限。您可以使用以下命令为系统用户授予其他 schema 的读写权限:
Copy
GRANT ALL PRIVILEGES TO WITH ADMIN OPTION;
其中, 是系统用户的用户名,WITH ADMIN OPTION 表示授予管理员权限,可以管理其他用户的权限。
请注意,在授予系统用户其他 schema 的读写权限时,需要谨慎操作,确保授权的安全性和合理性,避免出现数据泄露或其他安全问题。建议在授权前进行充分的安全审计和风险评估。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。