Skip to content

About the Oracle Database protocol

This page explains how Aembit’s Oracle Database protocol support works, which Oracle versions and client types Aembit supports, and what limitations apply.

Aembit’s Agent Proxy intercepts the Oracle Transparent Network Substrate (TNS) wire protocol and injects database credentials at connection time. Your applications connect to Oracle databases as they normally would. Aembit handles credential provisioning transparently, eliminating static database passwords.

For step-by-step setup instructions, see Create an Oracle Database Server Workload.

When your application opens a connection to an Oracle database, the Aembit Agent Proxy on the same Linux VM intercepts the TNS connection through transparent steering. Agent Proxy identifies the connection as an Oracle TNS protocol request, retrieves credentials from a Credential Provider: Credential Providers obtain the specific access credentials—such as API keys, OAuth tokens, or temporary cloud credentials—that Client Workloads need to authenticate to Server Workloads.Learn more, and injects them into the TNS authentication packets before forwarding the connection to the Oracle database.

The credential injection happens during the Oracle authentication handshake (O5LOGON flow). Aembit supports passwords stored by Oracle in the 12C password verifier format. Older password verifier formats (11G, 10G) aren’t supported. The only change to your client configuration is using aembit as the password. Your application doesn’t require driver modifications.

How Aembit Agent Proxy intercepts and authenticates Oracle TNS connections

Aembit supports Oracle Database 19c and 21c. Oracle 19c is the most widely deployed version in enterprise environments due to its long-term support status, and Oracle 21c covers organizations using innovation releases. Both versions support the same O5LOGON authentication flow and 12C password version, so Aembit’s credential injection works identically for both.

AspectOracle 19cOracle 21c
Release typeLong-Term ReleaseInnovation Release
Premier SupportThrough December 2029Through July 2027
Extended SupportThrough December 2032Not available
Default password version12C12C
Authentication protocolO5LOGONO5LOGON
AWS RDS availabilityYesYes

Oracle 23ai isn’t supported.

All environments require Agent Proxy deployed on a Linux VM with transparent steering configured. Aembit has tested Oracle Database protocol support in the following environments.

EnvironmentStatus
AWS RDS for OracleSupported
Containerized Oracle instancesSupported
Linux VM (on-premises or cloud)Supported
Docker-compose on Linux VMsSupported
Oracle Database@AzureNot verified
Oracle on GCPNot verified
Oracle on OCINot verified

For the complete list of supported deployment models, see the support matrix.

Oracle database drivers come in two variants: thin (pure language implementation) and thick (using Oracle Client libraries). Aembit supports thin clients. Aembit doesn’t support thick clients (Oracle Client / OCI).

Thin client connection path through Aembit Agent Proxy

Aembit supports Java, Python, Go, and Node.js thin drivers.

LanguagePackageNotes
Javaojdbc11.jar (or ojdbc8.jar)Thin mode by default
PythonoracledbUse default thin mode; don’t call init_oracle_client()
GogodrorThin mode (godror.NewConnector without instant client)
Node.jsoracledbSet oracledb.initOracleClient to false or omit it

For guidance on thin and thick mode configuration, see Oracle’s driver documentation.

Aembit supports TLS for Oracle database connections using Oracle’s TCPS (TCP/IP with TLS) protocol. TLS protects both sides of the proxy connection:

  • Client to proxy: Your application connects to Agent Proxy over TCPS.
  • Proxy to database: Agent Proxy connects to the Oracle database over TCPS.

You enable TLS per Server Workload by checking the TLS checkbox on the Port and Forward to Port fields. For step-by-step configuration instructions, see Create an Oracle Database Server Workload.

TLS is established before the TNS handshake, when the client connects to the Oracle TNS listener. When the TNS listener directs the connection to the database instance, Agent Proxy renegotiates TLS mid-TNS-handshake. Agent Proxy handles both the initial TLS setup and renegotiation transparently, without customer configuration.

For the proxy-to-database TLS connection, Agent Proxy validates the Oracle database’s TLS certificate using the Linux VM’s system trust store.

If your Oracle database uses a certificate from a private or enterprise certificate authority (CA), add that CA certificate to Agent Proxy VM’s system trust store. Add it before enabling TLS on the Server Workload.

On Ubuntu and Debian:

Terminal window
sudo cp your-oracle-ca.crt /usr/local/share/ca-certificates/
sudo update-ca-certificates

On RHEL and CentOS:

Terminal window
sudo cp your-oracle-ca.crt /etc/pki/ca-trust/source/anchors/
sudo update-ca-trust

Aembit supports username/password authentication only.

Agent Proxy intercepts the Oracle TNS authentication handshake and replaces placeholder credentials with real database credentials from the Credential Provider. This uses the O5LOGON authentication flow with password version 12C.

Your applications must use aembit as the password in their connection configuration. Agent Proxy uses this value to derive a shared key for the Oracle authentication handshake. It then replaces the credentials with the real username and password from the Credential Provider. The username can be any value—Agent Proxy replaces it during credential injection.

The following limitations apply to Oracle Database protocol support:

LimitationDetails
Steering modeTransparent steering only
Deployment modelLinux VM (with optional Docker-compose); Kubernetes*
AuthenticationUsername/password (12C verifier) only. Kerberos, Oracle Wallet, and OAuth 2.0 aren’t supported.
Client typeThin client only. Thick client (Oracle Call Interface / OCI) isn’t supported.
Oracle versions19c and 21c only. Oracle 23ai isn’t supported.
Cloud environmentsAWS RDS and containerized instances tested. Aembit hasn’t tested Azure, GCP, or OCI environments.
Native Oracle encryptionNot supported. Use TCPS (TLS) instead.

* Kubernetes support requires transparent steering configured for the Oracle database host.

For the latest supported capabilities, see the support matrix.