开发者社区 > 大数据与机器学习 > 正文

我刚刚用flinkcdc-oracle2.2 连oracle-19c提示我sid不识别 有大?

我刚刚用flinkcdc-oracle2.2 连oracle-19c提示我sid不识别 有大佬分享一下jar包吗?

展开
收起
真的很搞笑 2023-06-11 15:18:33 155 0
8 条回答
写回答
取消 提交回答
  • 天下风云出我辈,一入江湖岁月催,皇图霸业谈笑中,不胜人生一场醉。

    jdbc:oracle:thin:@//hostname:1521/SID
    请将"hostname"替换为您的Oracle数据库所在的主机名或IP地址,"1521"是Oracle数据库的默认端口号,"SID"是您的Oracle数据库的SID。

    另外,请确保您已经将正确的JDBC驱动程序JAR文件添加到Flink项目的classpath中。您可以从Oracle官方网站下载适用于Oracle 19c的JDBC驱动程序,并将其添加到Flink项目的classpath中。

    2023-08-28 18:35:19
    赞同 展开评论 打赏
  • 对于使用Flink CDC连接Oracle 19c出现SID不识别的问题,可能是由于连接URL中的SID参数不正确导致的。在Oracle 19c中,默认使用服务名(Service Name)而不是SID进行连接。

    你可以尝试修改连接URL,将SID参数替换为服务名。具体操作如下:

    1、打开Flink CDC的配置文件(比如flink-conf.yaml)。

    2、找到连接Oracle的配置项,通常会包含以下参数:

    • cdc.connector.oracle.url
    • cdc.connector.oracle.username
    • cdc.connector.oracle.password

    3、在cdc.connector.oracle.url参数中,将SID参数替换为服务名。示例:jdbc:oracle:thin:@localhost:1521/service_name,其中service_name为你的Oracle数据库的服务名。
    4、保存配置文件,并重新启动Flink CDC。

    Flink CDC的相关JAR包,下载位置
    image.png

    2023-08-22 23:10:50
    赞同 展开评论 打赏
  • 十分耕耘,一定会有一分收获!

    楼主你好,连接Oracle-19c需要使用ojdbc10.jar,可以从Oracle官方网站下载。不过,由于Oracle的版权限制,阿里云不提供ojdbc10.jar的下载链接。您可以手动下载ojdbc10.jar并将其添加到连接器的lib目录中。
    image.png

    此外,连接器连接Oracle时应该使用service_name而不是sid。请确保您使用了正确的service_name配置。具体可以看一下这个文档:
    image.png

    2023-08-21 12:23:49
    赞同 展开评论 打赏
  • 您好,出现 Flink CDC Oracle 连接报 sid 不识别的错误,可能有以下原因:

    1. Flink CDC Oracle Connector 的版本问题
      低版本的 Connector 不支持高版本的 Oracle 19c,需要使用更新的版本,比如 flink-dbc-oracle 2.2.1。
      image.png

    2. Oracle 19c 的名称变更
      Oracle 19c 默认的 SID 使用 CDB 名称,不再是传统 ORCL 等,需要在配置中正确指定。
      image.png

    3. 权限问题
      确认 CDC 用户对 Oracle 19c CDB 和 PDB 都有适当的权限。

    4. 需要额外的 JDBC 驱动程序
      Oracle 19c 可能需要更新到 ucp 或 ojdbc8 版本的驱动程序。
      我的建议是:
    5. 尝试升级到 flink-cdc-oracle 最新版本
    6. 在配置中使用 19c 的实际 CDB 名称
    7. 检查用户权限
    8. 更新 JDBC 驱动版本
    2023-08-16 14:50:23
    赞同 展开评论 打赏
  • 您使用的是 Oracle 19c 数据库,那么 SID 已经被替换成了服务名(Service Name),因此在连接 Oracle 19c 时需要使用服务名而不是 SID。

    具体来说,您需要将 JDBC 连接字符串中的 SID 替换成服务名。例如,如果您的服务名为 orclpdb1,则连接字符串应该类似于:

    jdbc:oracle:thin:@//localhost:1521/orclpdb1
    

    另外,您需要下载适用于 Oracle 19c 的 JDBC 驱动程序,并将其放置到 Flink CDC 的 lib 目录下。您可以按照以下步骤进行操作:

    1. 访问 Oracle 官网的 JDBC 下载页面:https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html

    2. 在页面中找到适用于您的操作系统和 Java 版本的 JDBC 驱动程序,并单击下载链接。

    3. 下载完成后,解压缩压缩包并将 ojdbc8.jar 文件复制到 Flink CDC 的 lib 目录下。

    4. 确认连接字符串中使用的是服务名而不是 SID,并重新启动 Flink CDC。

    image.png
    image.png

    2023-08-16 09:04:22
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    您使用Flink CDC2.2版本从Oracle19c读取binlog日志报sid不识别错误,可能的原因和解决方案:

    Oracle19c起废弃了sid,改用数据库实例名称(DBNAME)标识实例。

    Flink CDC目前还未完全支持Oracle19c新的binlog格式。

    可以尝试做如下修改:

    更新Flink CDC源码,从binlog事件中获取DBNAME替代sid

    修改元数据映射 accordingly

    重写读写逻辑以支持新的标识符

    另外一个临时解决方案:
    使用Oracle11g兼容模式,使19c模拟旧的binlog格式

    设置COMPATIBLE参数为11.2.0

    还可以试下降级到Flink CDC 2.1.x版本:
    旧版支持程度对Oracle版本要高一些
    最后可以寻求开源社区提供针对19c的补丁。
    总的来说,目前版本导致兼容性问题。需要升级Flink端或降级Oracle端以适配对方。

    2023-08-14 15:49:15
    赞同 展开评论 打赏
  • 全栈JAVA领域创作者

    如果您在使用Flink CDC连接Oracle-19c时,出现了sid不识别的问题,那么可能是由于以下原因:

    数据源表的SID没有正确配置:如果您的数据源表的SID没有正确配置,那么可能会导致Flink CDC无法正确读取和写入数据。在这种情况下,您需要在Flink CDC的配置文件中,指定数据源表的SID,以确保Flink CDC能够正确读取和写入数据。
    数据源表的字典没有正确配置:如果您的数据源表的字典没有正确配置,那么可能会导致Flink CDC无法正确读取和写入数据。在这种情况下,您需要在Flink CDC的配置文件中,指定数据源表的字典,以确保Flink CDC能够正确读取和写入数据。
    需要注意的是,如果您在生产环境中使用Flink CDC连接Oracle-19c,那么您需要考虑Flink CDC的资源使用情况。例如,您需要确保Flink CDC有足够的内存和CPU资源,以保证数据处理和同步的效率和稳定性。同时,您还需要确保Flink CDC的数据备份和恢复机制,以保证数据的安全性和可靠性。

    2023-08-14 13:40:43
    赞同 展开评论 打赏
  • 您可以按照以下步骤从 Maven 仓库中获取 Flink CDC Oracle Connector 2.2 版本的 JAR 文件:

    1. 打开 Maven 仓库的网站:https://mvnrepository.com/

    2. 在搜索框中输入 flink-connector-oracle-cdc,然后点击搜索按钮。
      image.png

    3. 选择与您使用的 Flink 版本和 Oracle 版本兼容的 flink-connector-oracle-cdc 项目。

    4. 在项目页面中,找到适合您的环境的版本(例如 2.2.0),并点击它。

    5. 在版本页面中,您将找到有关该版本的详细信息、依赖项和下载选项。
      image.png

    6. 点击 "jar" 下载链接,以获取 JAR 文件。
      image.png

    请注意,在下载之前,请确保选择与您所使用的 Flink 和 Oracle 版本兼容的正确版本。此外,建议您阅读文档中的说明和示例,了解如何正确配置和使用 Flink CDC Oracle Connector。

    另外,如果您使用的是 Flink 1.13.0 版本,可以尝试使用 flink-connector-oracle-cdc_2.12 这个模块,它是为 Scala 2.12 构建的。

    2023-08-14 10:54:26
    赞同 展开评论 打赏
滑动查看更多

大数据领域前沿技术分享与交流,这里不止有技术干货、学习心得、企业实践、社区活动,还有未来。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载