muncleben opened a new issue, #9918: URL: https://github.com/apache/seatunnel/issues/9918
### Search before asking - [x] I had searched in the [issues](https://github.com/apache/seatunnel/issues?q=is%3Aissue+label%3A%22bug%22) and found no similar issues. ### What happened SeaTunnel job executed failed caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a source for identifier 'Oracle-CDC' after run the command: $ nohup sh bin/seatunnel.sh --config config/oracle-to-kafka.conf -e local > sync.log 2>&1 & Orcle-to-kafka.conf details info: $ cat config/oracle-to-kafka.conf #This is for oracle to kafka config file # 环境配置 env { # 执行模式(本地模式) execution.mode = "local" # 并行度(根据数据量调整,1-4为宜) parallelism = 1 # 检查点间隔(毫秒,控制增量同步频率) checkpoint.interval = 30000 # 任务名称(自定义) job.name = "oracle_to_kafka_sync" } # 源端(Oracle)配置 source { Oracle-CDC { plugin_output = "users" # Oracle 数据库连接信息 url = "jdbc:oracle:thin:@//192.168.1.100:1521/ORCLPDB" # 替换为你的 Oracle 地址:端口/PDB username = "bpshare" # 替换为 Oracle 用户名 password = "xxxxxxxxx" # 替换为 Oracle 密码 database-names = ["ORCLPDB"] schema-names = ["BPSHARE"] table-names = ["ORCLEPDB.BPSHARE.USERS"] url = "jdbc:oracle:thin:@//192.168.1.100:1521/ORCLPDB" source.reader.close.timeout = 120000 # 需要同步的表(格式:schema.表名,多个用逗号分隔) #table.include.list = "BPSHARE.USERS" # 替换为实际表名 # 启动模式(initial 全量+增量;latest 仅增量) startup.mode = "initial" } } # 转换(可选,如需处理数据) transform { # 示例:添加一个字段记录同步时间 # Add { # fields = { # sync_time = "now()" # } # } } # 目标端(Kafka)配置 sink { Kafka { plugin_input = ["users"] # Kafka 集群地址(你的 Kafka 地址) bootstrap.servers = "192.168.1.100:9092" # Topic 命名规则(默认:oracle_${schema}_${table}) topic = "test-topic-001" # 消息格式(JSON 格式,便于 Redpanda Console 查看) format = "json" kafka.request.timeout.ms = 60000 semantics = EXACTLY_ONCE kafka.config = { acks = "all" request.timeout.ms = 60000 buffer.memory = 33554432 } } } ### SeaTunnel Version apache-seatunnel-2.3.12 ### SeaTunnel Config ```conf seatunnel: engine: classloader-cache-mode: true history-job-expire-minutes: 1440 backup-count: 1 queue-type: blockingqueue print-execution-info-interval: 60 print-job-metrics-info-interval: 60 slot-service: dynamic-slot: true checkpoint: interval: 10000 timeout: 60000 storage: type: hdfs max-retained: 3 plugin-config: namespace: /tmp/seatunnel/checkpoint_snapshot storage.type: hdfs fs.defaultFS: file:///tmp/ # Ensure that the directory has written permission telemetry: metric: enabled: false logs: scheduled-deletion-enable: true http: enable-http: true port: 8081 enable-dynamic-port: false # Uncomment the following lines to enable basic authentication for web UI # enable-basic-auth: true # basic-auth-username: admin # basic-auth-password: admin ``` ### Running Command ```shell $ nohup sh bin/seatunnel.sh --config config/oracle-to-kafka.conf -e local > sync.log 2>&1 & ``` ### Error Exception ```log =============================================================================== 2025-10-03 06:34:28,627 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Fatal Error, 2025-10-03 06:34:28,627 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Please submit bug report in https://github.com/apache/seatunnel/issues 2025-10-03 06:34:28,627 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Reason:SeaTunnel job executed failed 2025-10-03 06:34:28,629 ERROR [o.a.s.c.s.SeaTunnel ] [main] - Exception StackTrace:org.apache.seatunnel.core.starter.exception.CommandExecuteException: SeaTunnel job e xecuted failed at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:228) at org.apache.seatunnel.core.starter.SeaTunnel.run(SeaTunnel.java:40) at org.apache.seatunnel.core.starter.seatunnel.SeaTunnelClient.main(SeaTunnelClient.java:40) Caused by: org.apache.seatunnel.api.table.factory.FactoryException: ErrorCode:[API-06], ErrorDescription:[Factory initialize failed] - Unable to create a source for identifier ' Oracle-CDC'. at org.apache.seatunnel.api.table.factory.FactoryUtil.restoreAndPrepareSource(FactoryUtil.java:168) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:86) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parseSource(MultipleTableJobConfigParser.java:394) at org.apache.seatunnel.engine.core.parse.MultipleTableJobConfigParser.parse(MultipleTableJobConfigParser.java:244) at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.getLogicalDag(ClientJobExecutionEnvironment.java:123) at org.apache.seatunnel.engine.client.job.ClientJobExecutionEnvironment.execute(ClientJobExecutionEnvironment.java:191) at org.apache.seatunnel.core.starter.seatunnel.command.ClientExecuteCommand.execute(ClientExecuteCommand.java:165) ... 2 more Caused by: java.util.ServiceConfigurationError: java.net.spi.URLStreamHandlerProvider: Provider org.infinispan.commons.jdkspecific.ClasspathURLStreamHandlerProvider not found at java.base/java.util.ServiceLoader.fail(ServiceLoader.java:593) at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.nextProviderClass(ServiceLoader.java:1219) at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNextService(ServiceLoader.java:1228) at java.base/java.util.ServiceLoader$LazyClassPathLookupIterator.hasNext(ServiceLoader.java:1273) at java.base/java.util.ServiceLoader$2.hasNext(ServiceLoader.java:1309) at java.base/java.util.ServiceLoader$3.hasNext(ServiceLoader.java:1393) at java.base/java.net.URL$1.getNext(URL.java:1317) at java.base/java.net.URL$1.hasNext(URL.java:1332) at java.base/java.net.URL$2.run(URL.java:1359) at java.base/java.net.URL$2.run(URL.java:1356) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.base/java.net.URL.lookupViaProviders(URL.java:1355) at java.base/java.net.URL.getURLStreamHandler(URL.java:1441) at java.base/java.net.URL.<init>(URL.java:680) at java.base/java.net.URL.<init>(URL.java:569) at java.base/java.net.URL.<init>(URL.java:516) at java.base/javax.crypto.JceSecurity.<clinit>(JceSecurity.java:269) at java.base/javax.crypto.JceSecurityManager.<clinit>(JceSecurityManager.java:66) at java.base/javax.crypto.Cipher.getConfiguredPermission(Cipher.java:2627) at java.base/javax.crypto.Cipher.getMaxAllowedKeyLength(Cipher.java:2649) at oracle.jdbc.driver.T4CConnection.<clinit>(T4CConnection.java:455) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:56) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:747) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:562) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:681) at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:190) at org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.AbstractJdbcCatalog.getConnection(AbstractJdbcCatalog.java:151) at org.apache.seatunnel.connectors.seatunnel.jdbc.catalog.AbstractJdbcCatalog.open(AbstractJdbcCatalog.java:172) at org.apache.seatunnel.api.table.catalog.CatalogTableUtil.lambda$getCatalogTables$0(CatalogTableUtil.java:122) at java.base/java.util.Optional.map(Optional.java:260) at org.apache.seatunnel.api.table.catalog.CatalogTableUtil.getCatalogTables(CatalogTableUtil.java:118) at org.apache.seatunnel.api.table.catalog.CatalogTableUtil.getCatalogTables(CatalogTableUtil.java:98) at org.apache.seatunnel.connectors.seatunnel.cdc.oracle.source.OracleIncrementalSourceFactory.lambda$restoreSource$2(OracleIncrementalSourceFactory.java:117) at org.apache.seatunnel.api.table.factory.FactoryUtil.createAndPrepareSource(FactoryUtil.java:180) at org.apache.seatunnel.api.table.factory.FactoryUtil.restoreAndPrepareSource(FactoryUtil.java:136) ... 8 more ``` ### Zeta or Flink or Spark Version _No response_ ### Java or Scala Version $ java --version openjdk 17.0.16 2025-07-15 LTS OpenJDK Runtime Environment (Red_Hat-17.0.16.0.8-1) (build 17.0.16+8-LTS) OpenJDK 64-Bit Server VM (Red_Hat-17.0.16.0.8-1) (build 17.0.16+8-LTS, mixed mode, sharing) ### Screenshots refer to the attachment for the detailed logs file [sync.log](https://github.com/user-attachments/files/22679412/sync.log) ### Are you willing to submit PR? - [ ] Yes I am willing to submit a PR! ### Code of Conduct - [x] I agree to follow this project's [Code of Conduct](https://www.apache.org/foundation/policies/conduct) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
