oracle - Debezium-oracle-connect, kafka 连接 ORA-01031

标签 oracle apache-kafka-connect debezium

我按照官方文档创建了kafka connect。 Kafka2.4Debezium 1.0 Final

{
"name": "oracle-connect",
"config": {
    "connector.class" : "io.debezium.connector.oracle.OracleConnector",
    "tasks.max" : "1",
    "database.server.name" : "orcl",
    "database.hostname" : "xx.xxx.xx.xx",
    "database.port" : "1521",
    "database.user" : "c##xstrm",
    "database.password" : "xs",
    "database.dbname" : "orcl",
    "database.pdb.name" : "pdborcl",
    "database.out.server.name" : "dbzxout",
    "database.history.kafka.bootstrap.servers" : "kafka:9092",
    "database.history.kafka.topic": "schema-changes.inventory"
}}

但是,抛出异常:

ERROR Failed to initialize snapshot context. (io.debezium.relational.RelationalSnapshotChangeEventSource:107)
java.lang.RuntimeException: java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges
at io.debezium.connector.oacle.OracleConnection.setSessionToPdb(OracleConnection.java:51)
......
Caused by: java.sql.SQLSyntaxErrorException:ORA-01031: insufficient privileges
at oracle.jdbc.driver.T2CConnection.checkError(T2CConection.java:1002)
.....
ERROR Producer failure (io.debezium.pipeline.ErrorHandler:36)
...........ORA-01031: insufficient privileges.

一开始感觉是oracle用户权限的问题。所以 windows cmd 连接 Oracle。顺便说一句 我的 oracle 版本 12c

sqlplus / as sysdba

grant connect, resource, dba to c##xstrm;

但还是异常,问题多半出现在Oracle中,但不知如何解决

最佳答案

看起来像是授权问题。 快速查看文档会列出所需的权限。

GRANT CREATE SESSION TO c##xstrm CONTAINER=ALL;

GRANT SET CONTAINER TO c##xstrm CONTAINER=ALL;

GRANT SELECT ON V_$DATABASE to c##xstrm CONTAINER=ALL;

GRANT FLASHBACK ANY TABLE TO c##xstrm CONTAINER=ALL;

详细说明:https://debezium.io/documentation/reference/connectors/oracle.html#_creating_an_xstream_admin_user_and_a_user_for_the_connector

关于oracle - Debezium-oracle-connect, kafka 连接 ORA-01031,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59640674/

相关文章:

SQL查询,试图提高效率(Oracle DBMS)

apache-kafka - Kafka 连接消费者引用偏移量并存储在消息中

jdbc - 卡夫卡连接: JDBC Source Connector : create Topic with multiple partitions

apache-kafka - 使用 Amazon MSK 和 Debezium SQL Server 连接器。获取相关 ID 为 7 的元数据时出错 : {TestKafkaDB= UNKNOWN_TOPIC_OR_PARTITION}

mysql - 将包含数据的新表包含到现有 Debezium 连接器中

oracle - 过程 : invalid identifier 中 UPDATE oracle 中的变量

mysql - Oracle/MYSQL : Sort records from a select query on a column that contains alphanumeric values

linux - 自定义 Liquibase 控制表(DATABASECHANGELOG 和 DATABAEECHANGELOGLOCK)

apache-kafka - Kafka Connect - 如何删除连接器

java - Postgres/JDBC/逻辑复制 - 内存不足问题