Oracle Database Connections
TablePro supports Oracle Database 12c and later via Oracle Call Interface (OCI). This covers Oracle Database instances running on-premises, in Docker, or Oracle Cloud.Install Plugin
The Oracle driver is available as a downloadable plugin. When you select Oracle in the connection form, TablePro will prompt you to install it automatically. You can also install it manually:- Open Settings > Plugins > Browse
- Find Oracle Driver and click Install
- The plugin downloads and loads immediately - no restart needed
Quick Setup
Connection Settings
| Field | Default | Notes |
|---|---|---|
| Host | localhost | |
| Port | 1521 | Listener port |
| Service Name | - | Required. Use service name not SID. Check tnsnames.ora if unclear. |
| Username | - | Requires username/password auth (no OS auth) |
Example Configurations
Local (Oracle XE): hostlocalhost:1521, user system, service XEPDB1
Docker: gvenzl/oracle-xe:21-slim image, same config as local
Remote: Standard host/port/credentials, service name from DBA
Oracle Cloud (ADB): Port 1522, service name format mydb_tp, requires TLS wallet download from Oracle Cloud Console
Features
Schema Selection: Each user is a schema. Switch with ⌘K. Shows available schemas and objects. Table Info: Structure (columns, types, nullability, defaults), indexes (B-tree, bitmap), foreign keys, DDL via DBMS_METADATA. Query Editor: SQL/PL/SQL support. Pagination uses OFFSET/FETCH syntax:SELECT c.constraint_name FROM all_constraints c WHERE constraint_type = 'R' AND owner = 'HR'
Authentication: Username/password only (no OS auth or wallet). Create user: CREATE USER app_user IDENTIFIED BY "Password1!"; GRANT CREATE SESSION, SELECT ANY TABLE TO app_user;
Troubleshooting
Connection refused: Check listener running (lsnrctl status), verify port 1521 open, if Docker check docker start oracle-xe
Invalid service name: Verify service exists: SELECT value FROM v$parameter WHERE name = 'service_names'; List services: lsnrctl services
Instant Client not found: Download Basic package, extract to /usr/local/oracle/instantclient, set DYLD_LIBRARY_PATH
Limitations: Username/password only, LONG/LONG RAW limited (use CLOB/BLOB), PL/SQL limited to anonymous blocks.