Knowledge Hub Technologies Oracle Database
Oracle Database

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).

Connection Fields

FieldRequiredDefaultDescription
Display NameYesA human-readable label for this connection, shown across the platform.
HostYesHostname or IP address of the Oracle listener. For RDS Oracle, use the RDS endpoint.
PortYes1521Oracle listener port. Change only if your listener is configured on a non-default port.
Service NameYes*Oracle service name (recommended for 12c and later). Used to construct the JDBC URL as jdbc:oracle:thin:@//{host}:{port}/{service_name}.
SIDYes*Oracle System ID. Use only for legacy databases that do not expose a service name. Exactly one of Service Name or SID is required.
UsernameYesDatabase username.
PasswordYesDatabase password. Stored encrypted at rest using AES-256.
SSL ModeNoDISABLESee SSL / TLS section below.
Connection Timeout (s)No30Seconds before a connection attempt times out.
Fetch SizeNo10000Number 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 ParametersNoOptional 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.

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

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:

ModeDescription
DISABLENo SSL. Default for on-premises connections behind a private network.
REQUIRESSL required. Uses the Oracle JDBC SSL properties. Requires a CA certificate to be provided.
VERIFY_CASSL 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.

FieldRequiredDescription
SSH HostYesHostname or IP of the SSH bastion server.
SSH PortYesSSH port. Default: 22.
SSH UsernameYesLinux username on the bastion host.
SSH Private Key (PEM)Yes*PEM-encoded RSA or Ed25519 private key.
SSH PasswordYes*Bastion host password. Use only if a private key is not available.

Write Modes

ModeBehaviour
OverwriteTruncates the target table and inserts all incoming rows. Equivalent to TRUNCATE TABLE followed by batch INSERT.
AppendInserts 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 ExistsCreates the target table from the DataFrame schema if it does not exist, then appends data.

Known Limitations