How to connect to Oracle Database
Oracle connection strings look nothing like the others, and the service name is where most people go wrong. Here is the string, plus two gotchas worth knowing up front.
The Oracle connection string
Choose Oracle under Engine, or paste:
oracle://user:password@localhost:1521/FREEPDB1
The path at the end is the service name, not a database name. The default port is 1521. A JDBC thin URL works too, so you can paste what you already have:
jdbc:oracle:thin:@//localhost:1521/FREEPDB1
Oracle Database 12c or later is supported.
Schemas
In Oracle, each user is a schema. Tamery opens your own schema and lists the other schemas you can see. Built-in accounts like SYS and XDB stay hidden so they do not clutter the Navigator.
Encryption and TCPS
Add ssl=true to connect over TCPS, Oracle's TLS listener, usually on port 2484:
oracle://user:[email protected]:2484/ORCLPDB1?ssl=true
Without it, the connection is plain TCP.
Two things to know
- Each statement commits when it runs. Oracle commits schema changes immediately, so a failed multi-step change can leave the earlier steps applied. Keep that in mind when you run DDL.
- Wallets and
tnsnames.oraaliases are not supported, and neither are SSH tunnels. Connect with the host, port and service name directly.
A local Oracle to test with
docker run -d -p 1521:1521 -e ORACLE_PASSWORD=password gvenzl/oracle-free
Connect as system to the FREEPDB1 service. On desktop, Tamery lists the running container under detected databases, so you can click straight into it.
FAQ
What port does Oracle use?
1521 by default, or 2484 for TCPS, Oracle's TLS listener.
What is the service name in an Oracle connection string?
The part after the host and port, like FREEPDB1. It is not the same as a database name, which is what catches most people.
Does Tamery support Oracle wallets or tnsnames.ora?
No. Connect with the host, port and service name. SSH tunnels are not available for Oracle connections either.
Which Oracle versions work?
Oracle Database 12c and later.
Download Tamery and paste the connection string, or a JDBC thin URL. The full reference is in the Oracle docs.