Oracle DB

From DreamFactory
Jump to: navigation, search

Drivers

Bitnami Windows Install

Note: These instructions are applicable for DreamFactory 2.1.0-4 and older. Starting in DreamFactory 2.1.1 you will need to use Oracle Instant Client 12

  • Download the Oracle Instant Client here
    • You will need to download the appropriate version for your version of Oracle (i.e Instant Client 11 goes with Oracle 11g server.)
    • Since the Windows Bitnami stack is only 32-bit you need to download the 32-bit instant client
    • You will also need an Oracle login for this (free registration.)
  • Extract the zip file to your preferred location, such as C:\instantclient_11_2
  • Edit the php.ini file (C:\Bitnami\dreamfactory-x.x.x-x\php\php.ini)
    • Uncomment (remove the semicolon) from the line that says
      ;extension=php_oci8_11g.dll
    • For Oracle Instant Client 12, the line will be denoted with a comment indicating it requires uncommenting
      ;extension=php_oci8_12c.dll  ; Use with Oracle Database 12c Instant Client
  • Edit your PATH variable.
    • Go to Control Panel->System->Advanced System Settings
    • Click on Environment Variables
    • Under System variables, double click on Path.
    • At the end of the Variable value, add the path to the instant client directory (see above.) Use a semicolon to separate this new entry from the current last entry.
      ;C:\instantclient_11_2
  • Restart the system

Linux

Bitnami Linux Install

  • Download the Oracle Instant Client here
    • You will need to download the 11.2 Instant Client basic
    • You will also need an Oracle login for this (free registration.)
  • Extract the zip file to your preferred location, such as ~/instantclient_11_2
  • Edit the php.ini file (~/dreamfactory-x.x.x-x/php/php.ini)
    • Uncomment (remove the semicolon) from the line that says
      ;extension=oci8.so
  • Edit the setenv.sh file ( ~/dreamfactory-2.0.2-0/scripts/setenv.sh )
    • Add the following to the end of the file, just before the line that says . /home/user/dreamfactory-2.0.2-0/scripts/build-setenv.sh
LD_LIBRARY_PATH=/home/bitnami/instantclient_11_2:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH

Manual Install from Github on Linux

These instructions are Ubuntu/Debian based
Note: If you are use a newer version of the Instant Client you will want to modify these instructions accordingly (for example instant_client_12_1)

  • Download the Oracle Instant Client here
    • Get both the basic client and the sdk (two files)
    • You will need to download the appropriate version for your version of Oracle (i.e Instant Client 11 goes with Oracle 11g server.)
    • You will also need an Oracle login for this (free registration.)
  • Extract the instant client basic zip file to your preferred location, such as /opt/instantclient_11_2
  • Extract the sdk zip to the same location. There should be a sdk folder inside the main instantclient_11_2 folder
  • Make a symlink from libclntsh.so.11.1 to libclntsh.so (be sure to change this to the appropriate file for your version of the client (i.e. 12.x.) You can look in the instantclient folder to see which file to use here.
    • $ sudo ln -s /opt/instantclient_11_2/libclntsh.so.11.1 /opt/instantclient_11_2/libclntsh.so
  • Ensure that you have the php-pear and php5-dev packages installed on your system
    • $ sudo apt-get install php-pear php-dev
  • Use PECL to install the oci8 so file.
    • If using php 5.5 or 5.6:
    • $ sudo pecl install oci8-2.0.11
    • if using php 7:
    • $ sudo pecl install oci8
    • You will be asked for the type of install and location of library. Use instantclient and the location where you extracted the files above. ex: "instantclient,/opt/instantclient_11_2"
    • If the the install generates any errors it will fail you. You will need to troubleshoot based on the error reported.
  • Create a module file for your oci8 installation.
    • $ sudo touch /etc/php5/mods-available/oci8.ini
  • Edit the file you just created in your preferred text editor.
    • There is a single line in the file it looks like this:
    • extension=oci8.so
  • Enable the php extension
    • $ sudo php5enmod oci8
  • Restart your web service service
    • $ sudo service apache2 restart
      or
    • $ sudo service php5-fpm restart && sudo service nginx restart