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

flink cdc采集oracle 的adg备份库报错,这种情况如何解决?

flink cdc采集oracle 的adg备份库报错,这种情况如何解决?lQLPJxp7OKurTLnNAurNBa-wdUkWTUDhumAGVINit0IaAA_1455_746.png

展开
收起
三分钟热度的鱼 2024-06-19 18:45:17 163 0
7 条回答
写回答
取消 提交回答
  • 如下配置:
    Redo日志配置问题:确保ADG备份库正确配置了Redo日志,并且这些日志文件可以被Debezium访问。Oracle ADG应处于归档模式,否则可能无法正确捕获变更事件。同时,检查网络连接是否正常 。

    Debezium连接器配置问题:确认使用的Debezium版本支持Oracle ADG并且兼容您的Oracle版本。检查Debezium连接器的配置,特别是与Oracle ADG相关的参数,例如server.id、database.history、database.history.fs.dir等,确保Debezium能够正确读取ADG备份库的日志文件路径 。

    Flink CDC配置问题:检查Flink CDC的配置,包括连接字符串、用户名、密码等信息是否正确。确保Flink CDC配置支持DDL事件,因为这些事件可能会影响数据同步。如果需要过滤特定的表或模式,确保配置正确
    具体还需要你逐步的看嘞

    2024-08-05 22:33:50
    赞同 展开评论 打赏
  • 错误提示为 "ORA-16000: 数据库或可插拔数据库已打开以供只读访问"。这表明您的Oracle数据库或者可插拔数据库当前处于只读模式。
    确认数据库状态:首先确认数据库是否真的处于只读状态。可以使用以下SQL查询来检查:
    image.png
    如果数据库的open_mode显示为READ ONLY,则说明数据库确实处于只读模式。

    更改数据库模式:如果您需要将数据库从只读模式切换到读写模式,请确保您有相应的权限,并执行以下操作:
    image.png

    2024-07-24 16:04:10
    赞同 展开评论 打赏
  • 阿里云大降价~

    你连接的ADG数据库当前处于只读模式,Flink CDC默认需要可写的数据库连接以执行某些元数据操作和跟踪变更数据
    使用可读写副本:如果条件允许,最直接的解决办法是确保您的Flink CDC任务连接到一个可读写的Oracle数据库副本,而非ADG的只读实例。这样可以避免只读权限带来的限制。

    参考文档:https://help.aliyun.com/zh/flink/support/faq-about-cdc?spm=a2c6h.13066369.0.0.40fe438eW11LUz

    2024-07-24 10:50:55
    赞同 展开评论 打赏
  • ORA-16000表示ADG备份数据库处于READ ONLY模式,应该让DBA打开它为READ WRITE。
    image.png

    ——参考链接

    2024-07-21 23:43:54
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    Flink CDC 在采集 Oracle 的 ADG(Active Data Guard)备份库时遇到了错误
    java.sql.SQLException: ORA-16080: database or pluggable database open for read-only access
    在 Oracle 中,可以通过查看数据库实例的角色来确定它是否为只读:

    sql
    SELECT OPEN_MODE FROM V$DATABASE;

    2024-07-21 20:39:51
    赞同 展开评论 打赏
  • Oracle数据库或其可插拔数据库(PDB)以只读模式打开,而您的Flink CDC作业试图进行写操作。
    为了解决这个问题,您需要确保Oracle数据库或PDB配置为可写模式,或者您的Flink CDC作业被配置为只读模式。image.png

    2024-07-20 15:54:57
    赞同 展开评论 打赏
  • 报错java.sql.SQLException: ORA-16080: database or pluggable database open for read-only access,此问题表示您尝试连接的数据库或可插拔数据库当前处于只读状态。针对这一特定错误,您可以采取以下措施进行解决:

    1. 确认数据库状态
      • 首先,确认您的ADG实例是否被配置为只读模式。ADG通常用于热备和灾难恢复,默认设置为只读以保持与主库的数据同步且避免数据不一致。
    2. 调整ADG配置

      • 如果您的应用场景需要对ADG进行读写操作,考虑临时将ADG切换到可读写模式以允许Flink CDC进行数据抽取。注意:此操作可能影响到ADG的备份功能和数据一致性保障,请在执行前评估风险并制定相应的回滚计划。
    3. 配置Flink CDC源

      • 若业务需求限制必须从ADG读取,且短时切换到读写模式不可行,检查Flink CDC连接器配置,确保其适配只读数据库环境。部分连接器可能需要特殊配置来处理只读数据库的交互。

    image.png

    相关链接
    https://help.aliyun.com/zh/flink/support/faq-about-cdc

    2024-07-20 14:55:35
    赞同 展开评论 打赏
滑动查看更多

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

相关产品

  • 实时计算 Flink版
  • 相关电子书

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

    相关镜像