You can use programs in different languages, including Python, Node.js, PHP, Ruby, R, Go, and Perl to connect to an Autonomous Database instance using TLS authentication without a wallet.
These scripting languages have database access APIs or drivers that use the Oracle Call Interface libraries. The Oracle Call Interface libraries can be either from the full Oracle Client or from Oracle Instant Client.
Oracle Call Interface (OCI) clients support TLS authentication without a wallet if you are using the following client versions:
Oracle Instant Client/Oracle Database Client 19.13 - only on Linux x64
Oracle Instant Client/Oracle Database Client 19.14 (or later) and 21.5 (or later) - only on Linux x64 and Windows
- Install Oracle Instant Client.
- Got to the Oracle Instant Client page and click Download Now: Oracle Instant Client
- On the Oracle Instant Client Downloads page, select your
For example, under Instant Client for Linux, select the Instant Client for Linux x86-64 architecture (for this example, to download the Linux x86-64 version).
- Under Version 18.104.22.168.0 (Requires glibc 2.14), select an Instant Client package to download.
- If you are building a language API or driver from source code, you may also need to download the Instant Client SDK Package version 19.14: Oracle Instant Client
- Unzip the base package you selected. If you also download the SDK, unzip it in the same directory.
- On Linux, create a symbolic link if it does not exist. For
cd /home/myuser/instantclient_19_14 ln -s libclntsh.so.19.1 libclntsh.so
If there is no other Oracle software on your system that will be impacted, add Instant Client to the runtime link path. For example:
sudo sh -c "echo /home/myuser/instantclient_19_14 > /etc/ld.so.conf.d/oic.conf" sudo ldconfig
Alternatively set the library path in each shell that runs your application. For example:
The Linux Instant Client download files are available as
.rpmfiles. You can use either version.
- Install the relevant language driver for Oracle Database:
Node.js : To install node-oracledb for Node.js,, use the instructions on the following page: Installing node-oracledb.
ROracle: To install ROracle for R, use the instructions on the following page: ROracle
PHP: To install PHP OCI8 for PHP, use the instructions on the following page: Configuring PHP with OCI8.
PHP PDO_OCI: To install PHP PDO_OCI for PHP, use the instructions on the following page: Oracle Functions (PDO_OCI).
Windows DLLs are available on http://php.net/downloads.php included in PHP.
Ruby: To install ruby-oci8 for Ruby, use the instructions on the following page: Install for Oracle Instant Client
DBD for Perl: To install DBD::Oracle for Perl, set
ORACLE_HOMEand your library search path such as
PATHto the Instant Client directory and use the instructions on the following page: Installing DBD-Oracle.
Python: For instructions for connecting Python applications, see Connect Python Applications Without a Wallet (TLS)
- If you have not already done so, enable TLS connections on your Autonomous Database instance.
- Run Your Application
- Update your application to connect using your database username, your
password, and the Oracle Net connect name given in the unzipped
tnsnames.orafile. For example, user,
adb_user, password, and
db2022adb_lowas the connect string.
- Alternatively, change the connect string in
tnsnames.orato match the string used by your application.
- Run your application.
- Update your application to connect using your database username, your password, and the Oracle Net connect name given in the unzipped
Allowing TLS connections to Autonomous Database does not disallow mutual TLS (mTLS) connections. Both Mutual TLS (mTLS) and TLS connections are valid when an Autonomous Database instance is configured to allow TLS connections. See Connect Node.js and other Scripting Languages (mTLS) for information on connecting using mutual TLS (mTLS) with a wallet.