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

Document DB permissions for Oracle Connector

    XMLWordPrintable

Details

    Description

      Our source database may not be able to provide lock and flashback permissions to the database user for the oracle connector, as per the documentation.

      Is it possible to run debezium without those permissions? Please share the reason for this privileges as well, might be helpful for our DBA to understand the requirement.

      Currently, the connector is throwing an error due to lack of privileges. Below is the error traceback:

       

      "trace": "org.apache.kafka.connect.errors.ConnectException: An exception occurred in the change event producer. This connector will be stopped.\r\n\tat io.debezium.pipeline.ErrorHandler.setProducerThrowable(ErrorHandler.java:42)\r\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:115)\r\n\tat java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)\r\n\tat java.util.concurrent.FutureTask.run(FutureTask.java:266)\r\n\tat java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)\r\n\tat java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)\r\n\tat java.lang.Thread.run(Thread.java:748)\r\nCaused by: io.debezium.DebeziumException: java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges\n\r\n\tat io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:85)\r\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.doSnapshot(ChangeEventSourceCoordinator.java:153)\r\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.executeChangeEventSources(ChangeEventSourceCoordinator.java:135)\r\n\tat io.debezium.pipeline.ChangeEventSourceCoordinator.lambda$start$0(ChangeEventSourceCoordinator.java:108)\r\n\t... 5 more\r\nCaused by: java.sql.SQLSyntaxErrorException: ORA-01031: insufficient privileges\n\r\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:494)\r\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:446)\r\n\tat oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:1052)\r\n\tat oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:537)\r\n\tat oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:255)\r\n\tat oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:610)\r\n\tat oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:213)\r\n\tat oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:37)\r\n\tat oracle.jdbc.driver.T4CStatement.executeForRows(T4CStatement.java:887)\r\n\tat oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1136)\r\n\tat oracle.jdbc.driver.OracleStatement.executeInternal(OracleStatement.java:1754)\r\n\tat oracle.jdbc.driver.OracleStatement.execute(OracleStatement.java:1709)\r\n\tat oracle.jdbc.driver.OracleStatementWrapper.execute(OracleStatementWrapper.java:300)\r\n\tat io.debezium.connector.oracle.OracleSnapshotChangeEventSource.lockTablesForSchemaSnapshot(OracleSnapshotChangeEventSource.java:113)\r\n\tat io.debezium.relational.RelationalSnapshotChangeEventSource.doExecute(RelationalSnapshotChangeEventSource.java:106)\r\n\tat io.debezium.pipeline.source.AbstractSnapshotChangeEventSource.execute(AbstractSnapshotChangeEventSource.java:76)\r\n\t... 8 more\r\nCaused by: Error : 1031, Position : 19, Sql = LOCK TABLE \"schema\".\"table_name\" IN ROW SHARE MODE, OriginalSql = LOCK TABLE \"schema\".\"table_name\" IN ROW SHARE MODE, Error Msg = ORA-01031: insufficient privileges\n\r\n\tat oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:498)\r\n\t... 23 more\r\n"

       

      Thanks!

      Attachments

        Activity

          People

            ccranfor@redhat.com Chris Cranford
            malayanil Malayanil Senapati (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: