Docs / Oracle

← Databases

Oracle

The driver uses Oracle's client library (ODPI-C, through the oracle crate), loaded when you connect. The library is Oracle Instant Client, which the app downloads on first use.

First use: Instant Client

When you choose Oracle for a new connection and the client is not on this machine, a popup opens over the form: Oracle needs Oracle Instant Client. It shows the package (Basic Light 23.26.4), its size, its license (Oracle Free Use Terms and Conditions) and where it comes from, and checks the download against a SHA-256. Download fetches it into the app's data folder; Cancel leaves the form usable, and the offer comes back at Test connection and at the first opening. Settings › Drivers lists the client and removes it.

Connect

There is no oracle:// URL; paste a JDBC URL instead, such as jdbc:oracle:thin:@host:1521/service (thin and OCI forms are read), or fill in the form:

Privileges

Browsing reads the ALL_* views, so the login sees the objects it has rights on. Cancel sends a break; if the statement is still running after a couple of seconds, the app cancels it from a second session with ALTER SYSTEM CANCEL SQL, which needs that privilege, and failing that gives up the session (its transaction is rolled back and a new connection is opened).

What works

Agents

Read-only agents rely on the statement check alone: Oracle has no server-side read-only session here. A statement that calls an Oracle package, such as UTL_HTTP, is asked about before it runs, as a change. See Agents and the CLI.

Known limits

Tested on

The conformance suite runs on Oracle Free 23.26 (container gvenzl/oracle-free), with Instant Client downloaded or the system's: types, long results, errors that point at the mistake, PL/SQL, navigator, commit and rollback, saving many edited rows, cancel (also of a PL/SQL sleep), plans, DDL that runs back, connecting as SYSDBA, and schema comparison. Other versions are not tested.

See also: Connecting, Troubleshooting.