Oracle DB Ubuntu 16

From DreamFactory
Jump to: navigation, search

IMPORTANT: The following instructions are maintained for legacy purposes. If you require Oracle support, you should use the DreamFactory installers as described in the wiki: https://github.com/dreamfactorysoftware/dreamfactory.

This module will allow you to access Oracle databases. These instructions assumes you are installing with the latest Oracle instant client (12.1) which is backwards compatible to Oracle 10. If you need compatibility back to Oracle 9, use the 11.2 instant client files from Oracle, and adjust the filenames in the instructions accordingly.

  1. Get the prerequisites
    • $ sudo apt-get install unzip php-pear php7.1-dev build-essential libaio1
  2. Get the Instant Client Files
    • Download the basic and sdk instant client files for Linux x86-64, version 12.1 from this link: Oracle Instant Client Downloads
    • Filenames:
      • instantclient-basic-linux.x64-12.1.0.2.0.zip
      • instantclient-sdk-linux.x64-12.1.0.2.0.zip
  3. Copy the instant client files to your home directory (~) on the server
  4. Unzip and move the files to /opt/instantclient_12_1
    • $ cd ~
    • $ unzip instantclient-basic-linux.x64-12.1.0.2.0.zip
    • $ unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip
    • $ sudo mv instantclient_12_1 /opt/
  5. Create a symlink for the .so in the instantclient directory
    • $ sudo ln -s /opt/instantclient_12_1/libclntsh.so.12.1 /opt/instantclient_12_1/libclntsh.so
  6. Install the oci8 driver using PECL
    • $ sudo pecl install oci8
    • When asked for the ORACLE_HOME directory during install type instantclient,/opt/instantclient_12_1
    • You should see a message indicating that the oci8.so was successfully installed to the extensions directory
  7. Create the ini file
    • $ sudo sh -c 'echo "extension=oci8.so" > /etc/php/7.1/mods-available/oci8.ini'
  8. Enable the module in PHP
    • $ sudo phpenmod oci8
  9. Verify the module is successfully working with PHP
    • $ php -m | grep oci8