Uploaded image for project: 'Debezium'
  1. Debezium
  2. DBZ-9019

Oracle database PDB name in lowercase is not connecting to the connector.

XMLWordPrintable

    • Moderate

      In order to make your issue reports as actionable as possible, please provide the following information, depending on the issue type.

      Bug report

      For bug reports, provide this information, please:

      What Debezium connector do you use and what version?

      with docker container below version used 

      Oracle Connector "io.debezium.connector.oracle.OracleConnector" 

      /debezium/connect:3.1.1.Final 

      What is the connector configuration?

      {
        "name": "customers_capital",
        "config":

      {     "connector.class": "io.debezium.connector.oracle.OracleConnector",     "tasks.max": "1",     "database.hostname": "xx.yy.zz.aa",     "database.port": "1521",     "database.user": "c##dbzuser",     "database.password": "passwd",     "database.dbname": "gblcdbis",     "database.pdb.name":  "\"gblpdb\"",     "database.server.name": "oracledbsgi.atul.co.in",     "table.include.list": "APPS.AP_INVOICES_ALL",     "topic.prefix": "GBLCDB_N",     "transforms": "unwrap",     "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",     "transforms.unwrap.drop.tombstones": "false",     "transforms.unwrap.delete.handling.mode": "none",     "tombstones.on.delete": "true",     "schema.history.internal.kafka.bootstrap.servers": "kafka:9092",     "schema.history.internal.kafka.topic": "schema-changes-newC"   }

      }

      What is the captured database version and mode of deployment?

      (E.g. on-premises, with a specific cloud provider, etc.)

      On-premises Oracle database 19c (Version 19.12.0.0.0)

      What behavior do you expect?

      Should connect lowercase pdb database in oracle multi-tenant environment   database 

      What behavior do you see?

      showing "gblpdb" database not exist in database but it exist in lowercase . 

      ---------------------------------------------------------

      SQL> select pdb_name from dba_pdbs;

      PDB_NAME
      --------------------------------------------------------------------------------
      PDB$SEED
      gblpdb
      KAFKA

      SQL>

      ------------------------------------------------------------------------------------------

      Caused by: Error : 65011, Position : 0, Sql = alter session set container=gblpdb, OriginalSql = alter session set container=gblpdb, Error Msg = ORA-65011: Pluggable database GBLPDB does not exist.

      ----------------------------------------------------------------------

      Do you see the same behaviour using the latest released Debezium version?

      (Ideally, also verify with latest Alpha/Beta/CR version)

      Yes using latest released version 

      Do you have the connector logs, ideally from start till finish?

      (You might be asked later to provide DEBUG/TRACE level log)

      FULL CONNECTOR LOG WHILE CONNECTING 

      ------------------------------------------------------------------------

         [org.apache.kafka.clients.producer.ProducerConfig]
      2025-05-08 04:16:36,188 INFO   ||  initializing Kafka metrics collector   [org.apache.kafka.common.telemetry.internals.KafkaMetricsCollector]
      2025-05-08 04:16:36,196 INFO   ||  Kafka version: 3.9.0   [org.apache.kafka.common.utils.AppInfoParser]
      2025-05-08 04:16:36,196 INFO   ||  Kafka commitId: a60e31147e6b01ee   [org.apache.kafka.common.utils.AppInfoParser]
      2025-05-08 04:16:36,196 INFO   ||  Kafka startTimeMs: 1746677796195   [org.apache.kafka.common.utils.AppInfoParser]
      2025-05-08 04:16:36,200 INFO   ||  [Producer clientId=GBLCDB_N-schemahistory] Cluster ID: dYBW29ZnSTegtJeHTK-ZNQ   [org.apache.kafka.clients.Metadata]
      2025-05-08 04:16:36,203 INFO   ||  No previous offsets found   [io.debezium.connector.common.BaseSourceTask]
      2025-05-08 04:16:36,250 INFO   ||  Database Version: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
      Version 19.12.0.0.0   [io.debezium.connector.oracle.OracleConnection]
      2025-05-08 04:16:36,254 ERROR  ||  WorkerSourceTask{id=customers_capital-0} Task threw an uncaught and unrecoverable exception. Task is being killed and will not recover until manually restarted   [org.apache.kafka.connect.runtime.WorkerTask]
      java.lang.RuntimeException: java.sql.SQLException: ORA-65011: Pluggable database GBLPDB does not exist.

              at io.debezium.connector.oracle.OracleConnection.setContainerAs(OracleConnection.java:138)
              at io.debezium.connector.oracle.OracleConnection.setSessionToPdb(OracleConnection.java:124)
              at io.debezium.connector.oracle.OracleConnectorTask.start(OracleConnectorTask.java:87)
              at io.debezium.connector.common.BaseSourceTask.start(BaseSourceTask.java:255)
              at org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.initializeAndStart(AbstractWorkerSourceTask.java:279)
              at org.apache.kafka.connect.runtime.WorkerTask.doStart(WorkerTask.java:176)
              at org.apache.kafka.connect.runtime.WorkerTask.doRun(WorkerTask.java:225)
              at org.apache.kafka.connect.runtime.WorkerTask.run(WorkerTask.java:281)
              at org.apache.kafka.connect.runtime.AbstractWorkerSourceTask.run(AbstractWorkerSourceTask.java:79)
              at org.apache.kafka.connect.runtime.isolation.Plugins.lambda$withClassLoader$1(Plugins.java:238)
              at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:572)
              at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:317)
              at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1144)
              at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:642)
              at java.base/java.lang.Thread.run(Thread.java:1583)
      Caused by: java.sql.SQLException: ORA-65011: Pluggable database GBLPDB does not exist.

              at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:630)
              at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:564)
              at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1231)
              at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:772)
              at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:299)
              at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:512)
              at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:123)
              at oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:1200)
              at oracle.jdbc.driver.OracleStatement.executeSQLStatement(OracleStatement.java:1820)
              at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1472)
              at oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:2505)
              at oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:2460)
              at oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:328)
              at io.debezium.connector.oracle.OracleConnection.setContainerAs(OracleConnection.java:135)
              ... 14 more
      Caused by: Error : 65011, Position : 0, Sql = alter session set container=gblpdb, OriginalSql = alter session set container=gblpdb, Error Msg = ORA-65011: Pluggable database GBLPDB does not exist.

              at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:637)
              ... 27 more
      2025-05-08 04:16:36,259 INFO   ||  Stopping down connector   [io.debezium.connector.common.BaseSourceTask]
      2025-05-08 04:16:36,262 INFO   ||  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
      2025-05-08 04:16:36,264 INFO   ||  Connection gracefully closed   [io.debezium.jdbc.JdbcConnection]
      2025-05-08 04:16:36,264 INFO   ||  [Producer clientId=GBLCDB_N-schemahistory] Closing the Kafka producer with timeoutMillis = 30000 ms.   [org.apache.kafka.clients.producer.KafkaProducer]
      2025-05-08 04:16:36,267 INFO   ||  Metrics scheduler closed   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,267 INFO   ||  Closing reporter org.apache.kafka.common.metrics.JmxReporter   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,267 INFO   ||  Closing reporter org.apache.kafka.common.telemetry.internals.ClientTelemetryReporter   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,267 INFO   ||  Metrics reporters closed   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,267 INFO   ||  App info kafka.producer for GBLCDB_N-schemahistory unregistered   [org.apache.kafka.common.utils.AppInfoParser]
      2025-05-08 04:16:36,268 INFO   ||  [Producer clientId=connector-producer-customers_capital-0] Closing the Kafka producer with timeoutMillis = 30000 ms.   [org.apache.kafka.clients.producer.KafkaProducer]
      2025-05-08 04:16:36,270 INFO   ||  Metrics scheduler closed   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,270 INFO   ||  Closing reporter org.apache.kafka.common.metrics.JmxReporter   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,270 INFO   ||  Closing reporter org.apache.kafka.common.telemetry.internals.ClientTelemetryReporter   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,270 INFO   ||  Metrics reporters closed   [org.apache.kafka.common.metrics.Metrics]
      2025-05-08 04:16:36,271 INFO   ||  App info kafka.producer for connector-producer-customers_capital-0 unregistered   [org.apache.kafka.common.utils.AppInfoParser

       

      ---------------------------------------------------------------------

      How to reproduce the issue using our tutorial deployment?

      Oracle database 19c 

      CDB name "gblcdbis"

      PDB name "gblpd"   (both in lowercase)

      Feature request or enhancement

      For feature requests or enhancements, provide this information, please: should connect lowercase pdbs in oracle db 

      Which use case/requirement will be addressed by the proposed feature?

      <Your answer>

      Implementation ideas (optional)

      used below json file in connector configuration  , successfully connected 

      =============================

        "database.dbname": "gblcdbis",
          "database.pdb.name":  "\"\"gblpdb\"\"",   (double quotes two times )

      ==========================

       

              ccranfor@redhat.com Chris Cranford
              jaimin_s2 Jaimin S
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: