JDBC Sink Connector — Oracle
Type |
Sink |
Class |
|
Target System |
Database (Oracle) |
Maintainer |
Aiven |
License |
Apache License 2.0 |
Project |
|
Download |
|
This page documents version 6.12.0. Newer versions should be compatible unless there are breaking changes, but field names or default values may differ. If you notice discrepancies, please contact Axual Support. |
The JDBC Oracle connector requires the Oracle JDBC driver to be placed in the connector’s plugin
directory. Select the JAR matching your Java runtime version: ojdbc8.jar for Java 8, ojdbc11.jar
for Java 11, or ojdbc17.jar for Java 17+. The driver must be obtained separately from the
Oracle JDBC Downloads page.
|
Description
The JDBC Sink Connector for Oracle consumes records from Kafka topics and writes them to Oracle tables using JDBC.
It is maintained by Aiven as part of the open-source github.com/aiven/jdbc-connector-for-apache-kafka.
Features
-
Write Kafka records to Oracle tables via JDBC
-
Supports
INSERT,UPSERT, andUPDATEwrite modes -
Auto-creates target tables based on the record schema (when enabled)
-
Schema-aware: works with JSON (with schema) and Avro converters
When to Use
-
You need to write Kafka records into an Oracle database table.
-
You are building a pipeline where Oracle is the final destination.
When NOT to Use
-
You need bidirectional sync — this connector is sink only.
-
Your records do not carry a schema — enable
value.converter.schemas.enable=trueon the source side.
Installation
The connector is available from the Maven Central.
-
Navigate to the releases page and select the version matching your Kafka Connect installation.
-
Download the JAR file.
-
Download the Oracle JDBC driver (
ojdbc8.jarfor Java 8,ojdbc11.jarfor Java 11, orojdbc17.jarfor Java 17+) from the Oracle JDBC Downloads page and add it to the connector plugin directory.
For installation steps, see Installing Connector Plugins.
Configuration
For the complete configuration reference, see the official sink connector documentation.
| To configure a connector in Axual Self-Service, see Starting Connectors. |
Getting Started
Prerequisites
Oracle Database instance
You need a running Oracle Database instance reachable from the Kafka Connect cluster, with the
target table already created (or auto.create=true enabled in the connector config).
Axual stream with records
The stream this connector consumes must already exist and contain records with a schema. See Creating streams if you need to create a stream, and Produce some data to produce test events.
Steps
Step 1 — Create a connector application
-
Follow the Configure and install a connector documentation to set up a new Connector-Application.
Let’s call itmy.oracle.sink.
The plugin name isio.aiven.connect.jdbc.JdbcSinkConnector.
If a plugin isn’t available, ask a platform operator to install plugins.
Step 2 — Configure the connector
-
Provide the following minimal configuration:
connector.classio.aiven.connect.jdbc.JdbcSinkConnectorconnection.urljdbc:oracle:thin:@//123.123.123.123:1521/ORCLPDB1
Replace with your Oracle host and service name.connection.usersystemconnection.passwordYour database password
topicsYour Axual stream name
insert.modeinsertauto.createfalsevalue.converterorg.apache.kafka.connect.json.JsonConvertervalue.converter.schemas.enabletrueFor advanced options, see the official sink connector documentation.
-
Authorize the
my.oracle.sinksink Connector-Application to consume theoracle_EMPLOYEES_sinkstream.
Known limitations
-
The Oracle JDBC driver must be manually provided — it is not bundled with the connector. Use
ojdbc8.jarfor Java 8,ojdbc11.jarfor Java 11, orojdbc17.jarfor Java 17+. -
Schema evolution requires manual DDL changes in Oracle when
auto.evolve=false(the default). -
Records must carry a schema — the connector cannot infer column mappings from schema-less JSON.
Examples
Minimal configuration
{
"name": "my-jdbc-oracle-sink",
"config": {
"connector.class": "io.aiven.connect.jdbc.JdbcSinkConnector",
"connection.url": "jdbc:oracle:thin:@//oracle.example.com:1521/ORCLPDB1",
"connection.user": "system",
"connection.password": "<your-database-password>",
"topics": "<your-axual-stream-name>",
"insert.mode": "insert",
"auto.create": "false",
"value.converter": "org.apache.kafka.connect.json.JsonConverter",
"value.converter.schemas.enable": "true"
}
}
License
Oracle JDBC Connector is licensed under the Apache License, Version 2.0.