当前位置: 首页 > 知识库问答 >
问题:

Debezium Connector for Oracle-无法在表中获取新项目或更新

巫马心水
2023-03-14

背景:我已经在AWS Kubernetes上安装了一个Kafka集群,带有合流舵图。

我已经配置了一个Oracle服务器,所以我可以用Kafka connect连接到它。

我的Kafka连接配置

{
    "name": "oracle-debez",
    "config": {
        "connector.class" : "io.debezium.connector.oracle.OracleConnector",
        "tasks.max" : "1",
        "database.server.name" : "servername",
        "database.hostname" : "myserver",
        "database.port" : "1521",
        "database.user" : "myuser",
        "database.password" : "mypass",
        "database.dbname" : "KAFKAPOC",
        "database.out.server.name" : "dbzxout",
        "database.history.kafka.bootstrap.servers" : "mybrokersvc:9092",
        "database.history.kafka.topic": "my-conf-topic",
        "table.include.html" target="_blank">list": "MYSCHEMA.MYTABLE",
        "database.oracle.version": 11,
        "errors.log.enable": "true"
    }
}

我以这种方式进行了配置,并创建了一些主题:

我的conf主题:与DDL servername servername表一起提供。MYSCHEMA。我的桌子

在《Kafka·波克·德夫·迈斯凯玛》中。MYTABLE的主题是表中的所有信息。

当我启动插件时,所有信息都成功保存!但问题是每个新插入或更新都不会出现在主题上。

还有一件事,我的oracle不是版本11,我的版本是oracle Database 12c Enterprise Edition 12.1.0.2.0-64位生产版,但如果我没有输入属性“Database.oracle.version”:11,它会给我错误:

“org.apache.kafka.connect.errors.ConnectException:更改事件生成器中发生异常。此连接器将被停止。\n\tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)\n\tat io.debezium.connector.oracle.xstream.XstreamStreamingChangeEventSource.execute(XstreamStreamingChangeEventSource.java:82)\n\tat io。德贝齐姆。管道ChangeEventSourceCoordinator。streamEvents(ChangeEventSourceCoordinator.java:140)\n\t io。德贝齐姆。管道ChangeEventSourceCoordinator。lambda$start$0(ChangeEventSourceCoordinator.java:113)\n\t java。base/java。util。同时发生的遗嘱执行人$runnableapter。调用(Executors.java:515)\n\t java。base/java。util。同时发生的未来任务。运行(FutureTask.java:264)\n\t java。base/java。util。同时发生的线程池执行器。runWorker(ThreadPoolExecutor.java:1128)\n\tat d.java:834)\n使用者:oracle。溪流。StreamsExa:343)\n\t io。德贝齐姆。连接器。神谕xstream。XstreamStreamingChangeEventSource。执行(XstreamStreamingChangeEventSource.java:70)\n\t。。。7更多\n“

有人能帮我理解我做错了什么吗?

现在,当我创建连接器时,表被锁定。。而且数据还没有到达主题。。。

桌子被锁上了

谢谢

共有2个答案

乐正玺
2023-03-14

您正在使用oracle的容器和PDB版本,因此您需要在您的属性中传递database.pdb.name值。您必须有一个具有logminer或Xstream访问权限的用户。

司徒焕
2023-03-14

我面临着类似的问题,但目前正在使用LogMiner适配器

初始快照和流媒体工作正常,但如果我向Kafka Connect添加更多连接器以监视不同的表和模式,则无法获得更多更新/插入事件。

一切都停止工作,即使我可以看到LogMiner会话仍然处于活动状态。

您是否启用了Golden Gate复制和存档日志模式?

关于数据库。神谕版本您面临的问题,您应该只使用此处提到的默认值:

https://debezium.io/documentation/reference/connectors/oracle.html#oracle-property-database-oracle-version

"database.oracle.version" : "12+"

因为我还不能发表评论,所以发布作为答案。

希望它能对你有所帮助。

 类似资料:
  • 问题内容: 我一直在尝试找出如何更新dynamoDB中的项目,但没有成功。 我知道如何添加和删除项目,但不更新。 这是我的代码: 问题答案: 看来您正在尝试使用Expression更新项目,在这种情况下,您不正确。无论是和用于占位符代替你的表达。 我想如果您想为某项设置属性,您的代码将类似于以下内容: 这将更新一个看起来像这样的项目: 对此:

  • 本文向大家介绍sharepoint项目。更新列表项,包括了sharepoint项目。更新列表项的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我尝试使用表达式更新Dynamo表,我尝试动态生成键。问题是,如果表达式中有空格,则表达式的计算结果将不正确。 以下是我的更新实现: 如果我打印update_expression和expression_attribute_values的值expression_attribute_names我得到以下输出。update_expression expression_attribute_values 表

  • 我正在使用操作系统在我的系统中添加以下变量 :C:\users\user\appdata\roaming\npm\node_modules :C:\Windows\System32;C:\Windows;C:\Windows\System32\WBEM;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\程序文件(x86)\Windows工具包\8.1\W

  • 我已经创建了一个Spring引导应用程序,并将其导入到STS中。但当我试图执行"Maven Update"时,它显示了以下错误pom.xml文件以及没有得到更新。任何帮助都将不胜感激。谢谢! 错误如下:- 项目生成错误:com的不可解析父POM。示例:demo:0.0。1-快照:转移组织失败。springframework。boot:springbootstarter父级:pom:2.0。3.免除