On-premises Oracle Database (12c, 19c, 21c) and Oracle on Amazon RDS. JDBC-based connectivity using the Oracle Thin driver. For Oracle Autonomous Database, see Oracle Autonomous DW (ADW).
On this page
Connection Fields
| Field | Required | Default | Description |
|---|---|---|---|
| Display Name | Yes | — | A human-readable label for this connection, shown across the platform. |
| Host | Yes | — | Hostname or IP address of the Oracle listener. For RDS Oracle, use the RDS endpoint. |
| Port | Yes | 1521 | Oracle listener port. Change only if your listener is configured on a non-default port. |
| Service Name | Yes* | — | Oracle service name (recommended for 12c and later). Used to construct the JDBC URL as jdbc:oracle:thin:@//{host}:{port}/{service_name}. |
| SID | Yes* | — | Oracle System ID. Use only for legacy databases that do not expose a service name. Exactly one of Service Name or SID is required. |
| Username | Yes | — | Database username. |
| Password | Yes | — | Database password. Stored encrypted at rest using AES-256. |
| SSL Mode | No | DISABLE | See SSL / TLS section below. |
| Connection Timeout (s) | No | 30 | Seconds before a connection attempt times out. |
| Fetch Size | No | 10000 | Number of rows fetched per JDBC round trip. The Oracle JDBC driver defaults to 10; DataKnits overrides this to 10000 for performance. Reduce if you encounter out-of-memory errors on wide rows. |
| Additional JDBC Parameters | No | — | Optional key=value pairs appended to the JDBC URL. |
Service Name vs. SID
Oracle 12c and later use Service Names to identify pluggable databases (PDBs). The SID format was the standard in Oracle 10g and 11g and refers to the database instance directly.
- Use Service Name for Oracle 12c, 19c, and 21c (both on-premises and RDS). The generated JDBC URL uses the format
jdbc:oracle:thin:@//{host}:{port}/{service_name}. - Use SID only for Oracle 10g / 11g or legacy configurations. The generated URL uses
jdbc:oracle:thin:@{host}:{port}:{sid}.
If you are unsure which to use, ask your DBA. For Oracle RDS, the service name is the DB name you set when creating the RDS instance.
Authentication Methods
- Username / Password — Standard Oracle database authentication. The most common method.
- SSH Tunnel + Username/Password — Routes the JDBC connection through an SSH bastion host. See SSH Tunneling.
Oracle Wallet-based authentication (used for Oracle Autonomous Database and Oracle Cloud) is a separate connector type. See Oracle Autonomous DW (ADW).
SSL / TLS
Oracle SSL requires configuring the Oracle wallet or a Java truststore. DataKnits supports two approaches:
| Mode | Description |
|---|---|
DISABLE | No SSL. Default for on-premises connections behind a private network. |
REQUIRE | SSL required. Uses the Oracle JDBC SSL properties. Requires a CA certificate to be provided. |
VERIFY_CA | SSL with server certificate validation. Provide the CA certificate (PEM) in the SSL CA Cert field. |
SSH Tunneling
When Oracle is deployed in a private subnet without direct inbound access, DataKnits can route the JDBC connection through an SSH bastion host.
| Field | Required | Description |
|---|---|---|
| SSH Host | Yes | Hostname or IP of the SSH bastion server. |
| SSH Port | Yes | SSH port. Default: 22. |
| SSH Username | Yes | Linux username on the bastion host. |
| SSH Private Key (PEM) | Yes* | PEM-encoded RSA or Ed25519 private key. |
| SSH Password | Yes* | Bastion host password. Use only if a private key is not available. |
Write Modes
| Mode | Behaviour |
|---|---|
| Overwrite | Truncates the target table and inserts all incoming rows. Equivalent to TRUNCATE TABLE followed by batch INSERT. |
| Append | Inserts all incoming rows without modifying existing data. |
| Upsert (Merge) | Generates a native Oracle MERGE INTO target USING source ON (key) WHEN MATCHED THEN UPDATE ... WHEN NOT MATCHED THEN INSERT ... statement. |
| Create if Not Exists | Creates the target table from the DataFrame schema if it does not exist, then appends data. |
Known Limitations
- The Oracle JDBC driver (
ojdbc11.jar) is not open source. DataKnits bundles it under Oracle's JDBC distribution license. Verify your Oracle license agreement permits this usage in your deployment. - Oracle
DATEincludes both date and time components (unlike SQL standardDATE). DataKnits maps OracleDATEto SparkTimestampTypeto preserve the time component. CLOBandBLOBcolumns are supported in pipeline reads, but data preview is limited to the first 32 KB of each CLOB value. BLOB columns are displayed as byte length in the preview panel.- Stored procedures are not callable from pipeline nodes directly. Use the Pre/Post SQL fields on source or target nodes to call procedures before or after the main data operation.
- The Oracle JDBC driver defaults to a fetch size of 10 rows per round trip. DataKnits overrides this to 10,000 for performance. If you observe out-of-memory errors with wide rows, reduce the Fetch Size field.