开发者社区 > 大数据与机器学习 > 实时计算 Flink > 正文

oracle cdc 的一个schema名称是C##CDCCONNECT 但是监听到事件后 # 变_

oracle cdc 的一个schema名称是C##CDCCONNECT 但是监听到事件后 # 变成了 _ 有大佬遇到类似的情况吗?

展开
收起
爱喝咖啡嘿 2022-12-20 14:48:33 159 0
1 条回答
写回答
取消 提交回答
  • 在 Oracle CDC 中,CDC 数据源中表和架构的名称在 Change Data Capture (CDC) 事件中可能会发生变化。这是因为 CDC 事件使用内部名称,这些名称与数据库中实际名称不同。

    特别是,带有特殊字符(如 #)的架构名称在 CDC 事件中可能会发生更改。例如,架构名称 C##CDCCONNECT 在 CDC 事件中可能会变为 _C##CDCCONNECT。

    这是因为 CDC 事件使用内部名称,这些名称遵循特定规则,其中包括:

    架构名必须以下划线开头。
    表名不能包含特殊字符。
    因此,当 CDC 事件引用具有特殊字符(如 #)的架构名称时,该名称在事件中将转换为内部名称。

    解决方法

    要解决这个问题,您可以在 CDC 数据源中创建同义词,将带有特殊字符的架构名称映射到不带特殊字符的名称。然后,您可以在 CDC 订阅中使用同义词名称,而不是带有特殊字符的架构名称。

    例如,您可以创建以下同义词:

    CREATE SYNONYM _C##CDCCONNECT FOR C##CDCCONNECT;
    然后,您可以在 CDC 订阅中使用 _C##CDCCONNECT 同义词名称,而不是 C##CDCCONNECT 架构名称。

    这样,CDC 事件将引用 _C##CDCCONNECT 同义词,该同义词将解析为 C##CDCCONNECT 架构的内部名称。

    2024-02-26 17:07:38
    赞同 展开评论 打赏

实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。

相关电子书

更多
PostgresChina2018_樊文凯_ORACLE数据库和应用异构迁移最佳实践 立即下载
PostgresChina2018_王帅_从Oracle到PostgreSQL的数据迁移 立即下载
Oracle云上最佳实践 立即下载

相关镜像