我目前正在运行oracle database 12c enterprise edition 12.2.0.1.0版
我正在配置一个debezium-kafka连接api,使用以下docker图像:debezium/connect:1.2 using 以下连接器配置:
curl -i -X POST -H "Accept:application/json" -H "Content-Type:application/json" 192.168.99.100:8083/connectors/ -d '{ "name": "oracle-connector", "config": {
"connector.class": "io.debezium.connector.oracle.OracleConnector",
"tasks.max": "1",
"database.server.name" : "server1",
"database.hostname": "IP",
"database.port": "1521",
"database.user": "xstrm",
"database.password": "xs",
"database.dbname": "DB_NAME",
"database.out.server.name" : "dbzxout",
"database.server.id": "SERVER_ID",
"database.server.name": "Oracle_12_2",
"table.whitelist": "TABLE_NAME",
"database.history.kafka.bootstrap.servers": "broker:9093",
"database.history.kafka.topic": "TOPIC_NAME" }
}'
连接器启动时,debezium kafka connect api正在打印以下错误消息:
2020-08-26 13:31:15,354 INFO || Kafka version: 2.5.0 [org.apache.kafka.common.utils.AppInfoParser]
2020-08-26 13:31:15,356 INFO || Kafka commitId: 66563e712b0b9f84 [org.apache.kafka.common.utils.AppInfoParser]
2020-08-26 13:31:15,356 INFO || Kafka startTimeMs: 1598448675354 [org.apache.kafka.common.utils.AppInfoParser]
2020-08-26 13:31:15,356 INFO || [Producer clientId=Oracle_12_2_ODS-dbhistory] Cluster ID: llDbLW94QVSmIeDrcJKXag [org.apache.kafka.clients.Metadata]
2020-08-26 13:31:15,362 INFO || [Consumer clientId=Oracle_12_2_ODS-dbhistory, groupId=Oracle_12_2_ODS-dbhistory] Cluster ID: llDbLW94QVSmIeDrcJKXag [org.apache.kafka.clients.Metadata]
2020-08-26 13:31:15,818 INFO || Requested thread factory for connector OracleConnector, id = Oracle_12_2_ODS named = change-event-source-coordinator [io.debezium.util.Threads]
2020-08-26 13:31:15,819 INFO || Creating thread debezium-oracleconnector-Oracle_12_2_ODS-change-event-source-coordinator [io.debezium.util.Threads]
2020-08-26 13:31:15,824 INFO || WorkerSourceTask{id=oracle-connector14-0} Source task finished initialization and start [org.apache.kafka.connect.runtime.WorkerSourceTask]
2020-08-26 13:31:15,829 INFO || Metrics registered [io.debezium.pipeline.ChangeEventSourceCoordinator]
2020-08-26 13:31:15,830 INFO || Context created [io.debezium.pipeline.ChangeEventSourceCoordinator]
2020-08-26 13:31:15,832 INFO || Snapshot step 1 - Preparing [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:15,942 INFO || Snapshot step 2 - Determining captured tables [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,318 INFO || Snapshot step 3 - Locking captured tables [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,321 INFO || Snapshot step 4 - Determining snapshot offset [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,348 INFO || Snapshot step 5 - Reading structure of captured tables [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,349 INFO || Snapshot step 6 - Persisting schema history [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,351 INFO || Snapshot step 7 - Snapshotting data [io.debezium.relational.RelationalSnapshotChangeEventSource]
2020-08-26 13:31:18,412 INFO || Snapshot - Final stage [io.debezium.pipeline.source.AbstractSnapshotChangeEventSource]
2020-08-26 13:31:18,413 INFO || Snapshot ended with SnapshotResult [status=COMPLETED, offset=OracleOffsetContext [scn=9653153220848]] [io.debezium.pipeline.ChangeEventSourceCoordinator]
2020-08-26 13:31:18,413 WARN || After applying blacklist/whitelist filters there are no tables to monitor, please check your configuration [io.debezium.relational.RelationalDatabaseSchema]
2020-08-26 13:31:18,413 INFO || Connected metrics set to 'true' [io.debezium.pipeline.metrics.StreamingChangeEventSourceMetrics]
2020-08-26 13:31:18,413 INFO || Starting streaming [io.debezium.pipeline.ChangeEventSourceCoordinator]
2020-08-26 13:31:18,529 ERROR || Producer failure [io.debezium.pipeline.ErrorHandler]
java.lang.RuntimeException: oracle.streams.StreamsException: ORA-26908: XStream API must be executed using a dedicated server process.
at io.debezium.connector.oracle.OracleStreamingChangeEventSource.execute(OracleStreamingChangeEventSource.java:78)
at io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:108)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: oracle.streams.StreamsException: ORA-26908: XStream API must be executed using a dedicated server process.
例如,在plsql中,可以通过以下方法解决此问题:
(CONNECT_DATA =
(SERVER = dedicated)
)
你知道,如何在连接器端或服务器端解决这个问题吗?我查看了debezium文档,没有找到任何可以设置的连接器属性信息。谢谢
暂无答案!
目前还没有任何答案,快来回答吧!