Para conectar a una base de datos de Oracle desde Ubuntu necesitamos tener instalado su versión Express o usar las pequeñas librerías Oracle Instant Client, esto es necesario por ejemplo en el caso de querer conectar con Oracle desde NodeJS.
Instalar RPMs
Descargamos los RPM de Oracle Instant Client desde http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html. Vamos a necesitar las versiones “Basic“, “SQL Plus” y “SDK“.
Para convertir los ficheros .rpm en .deb vamos a usar “alien“:
1 |
sudo apt-get install alien |
Luego convertimos los ficheros usando:
1 2 3 |
alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm |
Para comprobar la instalación podemos usar el comando “sqlplus” o “sqlplus64“, por ejemplo:
1 |
sqlplus username/password@//dbhost:1521/SID |
Si nos dice que no encuentra el comando probablemente sea por que no tenemos la variable ORACLE_HOME bien configurada.
Variable ORACLE_HOME
Editamos el fichero “profile” para añadir las variables de entorno:
1 |
sudo nano /etc/profile |
Al final del todo añadimos:
1 2 |
export ORACLE_HOME=/usr/lib/oracle/12.1/client64 export PATH=$PATH:$ORACLE_HOME/bin |
Podemos recargar el PATH del sistema usando el comando “source /etc/profile” o reiniciar el equipo para hacer los cambios permanentes. Para comprobar si es correcto podemos ver el valor de la variable con:
1 |
echo $ORACLE_HOME |
Variables OCI_LIB_DIR y OCI_INC_DIR
Al igual que la anterior podemos añadir estas variables al mismo fichero “profile“, después de ORACLE_HOME:
1 2 |
export OCI_LIB_DIR=$ORACLE_HOME/lib export OCI_INC_DIR=/usr/include/oracle/12.1/client64 |