Oracle Instant Client en Ubuntu

Instalar el cliente de Oracle para conectarse usando PHP en Ubuntu

Oracle instant client es un cliente que nos permite conectar nuestra aplicación web a la base de datos Oracle.

La instalación de este cliente es algo complicada ya que hay poca documentación y el sitio oficial de Oracle no lo pone muy fácil para instalarlo. En este artículo instalaremos Oracle instant client en Ubuntu.

En la página oficial de Oracle descargaremos el cliente. Es necesario registrarse para poder descargarlo.

Seleccionamos el cliente que nos interesa, generalmente:

Instant Client for Linux x86

Aceptamos el acuerdo de licencia y seleccionamos oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm y oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm.

Podemos descargar también el SQL Developer, que es un programa de escritorio que se utiliza para hacer consultas y programar en PL/SQL en la base de datos Oracle, pero no lo necesitamos para conectar nuestra aplicación web a Oracle.

En Ubuntu/Debian los instalables suelen empaquetarse en archivos acabados en extensión .deb y los archivos descargados son .rpm, por lo que necesitaremos reconvertirlos. Para ello usaremos la aplicación alien, que si no la tenemos instalada podemos hacerlo con:

sudo apt-get install alien

Luego reconvertimos los archivos .rpm a .deb con:

alien oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
alien oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.rpm

y luego usaremos el comando dpkg para instalarlos:

dpkg -i oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.deb oracle-instantclient11.2-devel-11.2.0.3.0-1.i386.deb

Instalar extensión oci8 en PHP

Si deseamos instalar el driver en PHP para poder conectar con una base de datos Oracle, podemos usar PECL para que nos lo instale. Usaremos:

sudo apt-get install libaio1
sudo apt-get install pecl
sudo pecl install oci8

Finalmente añadimos la extensión a php.ini, normalmente el archivo está en /etc/php5/apache/php.ini, y podemos añadir la linea en cualquier parte del archivo:

extension=oci8.so

Si se ha instalado correctamente, con la instrucción phpinfo() de PHP deberíamos ver el módulo OCI8.