Scripting Languages and Oracle Cloud
Oracle Database drivers for scripting languages including Node.js, Python, R, PHP and Ruby can connect to Oracle Database Exadata Express Cloud Service using Instant Client 12.2. Network security is enforced by using an Oracle Wallet, which can be downloaded from the database service.
Obtain the Instant Client 12.2 'basic' package for your desired architecture by downloading it from the Instant Client pages. The smaller 'basiclite' package may be used instead of 'basic'. The smaller package contains only English error messages and has support for Unicode, ASCII, and Western European character sets.
Alternatively, use these links for Oracle Instant Client 12.1 packages suitable for use with Exadata Express Cloud Service.
If building a language API or driver from source code, the Instant Client SDK will commonly also be needed.
Unzip the 'basic' or 'basiclite' package, for example to
/home/myuser/instantclient_12_2. If the SDK was downloaded it should be unzipped to the same directory.
On Windows, add
C:\instantclient_12_2 to the
PATH variable in the "System variables" section of the Environment Variables pane. On Windows 8 this can be accessed by navigating to Control Panel>System>Advanced System Settings>Environment Variables. If you have multiple versions of Oracle libraries installed, make sure the new directory occurs first in the path.
On Windows, install a Visual Studio Redistributable from Microsoft. For Instant Client 12.2, install the VS 2013 Redistributable. For Instant Client 12.1, install the VS 2010 Redistributable. Use a 64-bit or 32-bit Redistributable to match your Instant Client architecture.
On non-Windows platforms, create a symbolic link like:
cd /home/myuser/instantclient_12_2 ln -s libclntsh.so.12.1 libclntsh.so
Applications and tools that use the OCCI C++ API also need the symbolic link:
ln -s libocci.so.12.1 libocci.so
Set the library path:
Instead of setting LD_LIBRARY_PATH, you could create an ldconfig configuration file if there is no other Oracle software that will be impacted:
sudo sh -c "echo /home/myuser/instantclient_12_2 > /etc/ld.so.conf.d/oic.conf" sudo ldconfig
The Linux 'basic' or 'basiclite' RPMs can also be used. With these, it is not necessary to create a symbolic link.
In your web browser, navigate to the Exadata Express service console.
If Client Access is not currently enabled, click Enable Client Access on the console.
Click Download Client Credentials on the console to download
client_credentials.zip containing your security credentials and network configuration files that will allow client access to your cloud database. Save this zip file to a secure location.
network/admin subdirectories in the Instant Client directory and unzip the client credentials there, for example so the files are in the
Secure the files so that only users who are authorized to connect to the Exadata Express service have access to them. By default, Oracle recommends granting permissions only to the file owner.
Alternatively, put the unzipped wallet files in a secure directory and set the
TNS_ADMIN environment variable to that directory name.
Follow the language-specific instructions to install database drivers using the updated Instant Client.
To install node-oracledb for Node.js follow these instructions.
To install ROracle for R follow these instructions.
To install ruby-oci8 for Ruby, follow these instructions.
To install DBD::Oracle for Perl, set ORACLE_HOME and your library search path such as LD_LIBRARY_PATH or PATH to the Instant Client directory and follow these instructions.
Update your application connection code.
Use the Oracle network service name given in the unzipped
tnsnames.ora file. For example, use
dbaccess as the connect string. Alternatively, change the connect string in
tnsnames.ora to match the string used by your application.
Use your Oracle Database Exadata Express database username and password. If you haven't created a new user, see Creating Database Schemas, or test with the administrator username
PDB_ADMIN and password. Note the password is not the wallet password. See Managing the Administrator User (PDB_ADMIN) for information about the
Run your application.