Oracle Instant Client + Ubuntu

Probado en un 9.04 64 bits. Asumo que será similar en otras versiones.

El instant client se descarga de la red de tecnologia de Oracle.

Se necesita libaio para la versión 11, para la versión 10 no es necesario.

apt-get install libaio1

A partir de este punto existen dos posibles formas de instalar el instant client.

1) Transformando los paquetes RPM en DEB con alien.

apt-get install alien

alien oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm

dpkg -i oracle-instantclient11.1-basic_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-devel_11.1.0.7.0-2_i386.deb  oracle-instantclient11.1-sqlplus_11.1.0.7.0-2_i386.deb

2) Descomprimiento los ZIPs y declarando las variables de entorno.

sudo mkdir -p /opt/oracle/
cd /opt/oracle/
sudo unzip instantclient-basic-linux32-11.1.0.7.zip
sudo unzip instantclient-jdbc-linux32-11.1.0.7.zip
sudo unzip instantclient-sdk-linux32-11.1.0.7.zip
sudo unzip instantclient-sqlplus-linux32-11.1.0.7.zip
sudo ln -s /opt/oracle/instantclient_11_1 client
cd /home/oracle/client /opt/oracle/
sudo ln -s  libclntsh.so.11.1 libclntsh.so
sudo ln -s  libocci.so.11.1 libocci.so

export ORACLE_HOME=/opt/oracle/client
export PATH=$ORACLE_HOME/client:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/client:$LD_LIBRARY_PATH
export TNS_ADMIN=<directorio tnsnames.ora>

Para probarlo podemos utilizar el SQLPLUS contra un servidor disponible.

sqlplus <user>/<pass>@<host>:<puerto>/<servicio>

Slds

FJAProbado en un 9.04 64 bits. Asumo que será similar en otras versiones.

El instant client se descarga de la red de tecnologia de Oracle.

Se necesita libaio para la versión 11, para la versión 10 no es necesario.

apt-get install libaio1

A partir de este punto existen dos posibles formas de instalar el instant client.

1) Transformando los paquetes RPM en DEB con alien.

apt-get install alien

alien oracle-instantclient11.1-basic-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-devel-11.1.0.7.0-1.i386.rpm
alien oracle-instantclient11.1-sqlplus-11.1.0.7.0-1.i386.rpm

dpkg -i oracle-instantclient11.1-basic_11.1.0.7.0-2_i386.deb oracle-instantclient11.1-devel_11.1.0.7.0-2_i386.deb  oracle-instantclient11.1-sqlplus_11.1.0.7.0-2_i386.deb

2) Descomprimiento los ZIPs y declarando las variables de entorno.

sudo mkdir -p /opt/oracle/
cd /opt/oracle/
sudo unzip instantclient-basic-linux32-11.1.0.7.zip
sudo unzip instantclient-jdbc-linux32-11.1.0.7.zip
sudo unzip instantclient-sdk-linux32-11.1.0.7.zip
sudo unzip instantclient-sqlplus-linux32-11.1.0.7.zip
sudo ln -s /opt/oracle/instantclient_11_1 client
cd /home/oracle/client
sudo ln -s  libclntsh.so.11.1 libclntsh.s
sudo ln -s  libocci.so.11.1 libocci.so

export ORACLE_HOME=/opt/oracle/client
export PATH=$ORACLE_HOME/client:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/client:$LD_LIBRARY_PATH
export TNS_ADMIN=<directorio tnsnames.ora>

Para probarlo podemos utilizar el SQLPLUS contra un servidor disponible.

sqlplus <user>/<pass>@<host>:<puerto>/<servicio>

Slds

FJA

9 thoughts on “Oracle Instant Client + Ubuntu

  1. Hola, sólo mencionar que con una ubuntu 9.04 de 32 bits tuve que exportar el path de las librerías:
    export LD_LIBRARY_PATH=/usr/lib/oracle/11.1/client/lib

    Siguiendo las recomendaciones de otra web también exporté el directorio de Oracle
    export ORACLE_HOME=/usr/lib/oracle/11.1/client/bin

    así ejecuté sin problemas el programa.

    Gracias por las instrucciones

  2. Gracias, necesitaba ver en claro como se hacía la instalación del cliente oracle en ubuntu, en mi caso específico como requisito para instalar oci8 en php.

    Dos correcciones al script:

    cd /home/oracle/client debe decir:
    cd /opt/oracle/client

    sudo ln -s libclntsh.so.11.1 libclntsh.s debe decir:
    sudo ln -s libclntsh.so.11.1 libclntsh.so

    A quien esté interesado como yo en instalar oci8 en php5, necesita instalar antes:
    php-pear, php5-dev

    y después de instalar el cliente oracle debe:
    sudo pecl install oci8
    sudo pear install MDB2

    (editar php.ini de acuerdo al mensaje)

    sudo pear install pear/MDB2#oci8

  3. Hola @Guille @Paul

    Gracias por los comentarios, ya he corregido el post. Quisiera hacer uno de instalar PHP y Oracle aunque he encontrado unos cuantos…. creo que voy a intentar hacer un post que sea links de la semana o algo asi, para cubrir estos temas.

    Slds

    FJA

  4. Hola.
    El caso es que intenté seguir los pasos para hacerlo por zip ya que con el alien me daba un error de etiqueta, pero no lo acabé porque me atasqué aquí:
    export TNS_ADMIN=
    ya que no sabía que poner.
    Y luego me dí cuenta de que si que acababa de convertirlo en .deb pese al error que salía, asi que lo instale todo pero cuando lanzo el sqlplus sale:

    sqlplus: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    Vamos que los directorios están mal.
    Nota: También tengo que decir que como ahora esta la versión 11.2 cambié todos los 11.1 por 11.2, espero que puedas ayudarme, gracias!
    Un saludo.

  5. Saludos, he instalado la version Oracle Express 10g sobre ubuntu 9.04 y va perfecto solo que tengo un pequeño problema con el SQL*PLUS cada vez que intento conectarme me sale esto
    ERROR:
    ORA-12705: Cannot access NLS data files or invalid environment specified

    y no me deja realizar la conexión; buscando, di con algo así como una solución en la que me indicaban que quitara temporalmente la variable de entorno NLS_LANG asi que lo hice:

    unset NLS_LANG

    trato de conectarme nuevamente y me deja trabajar, pero cuando oprimo las teclas de dirección o la tecla insert me salen unos caracteres ^[[A^C (esto me sale cuando presiono la tecla de dirección arriba) y la verdad es muy incomodo trabajar así ya que cuando me equivoco y presiono arriba para el ultimo comando insertado no me deja ni siquiera cuando estoy escribiendo y veo q me equivoque trato de llegar al error con la tecla izquierda y me salen mas caracteres del tipo ^[[A^C

    alguna posible solución que me recomiendes?

  6. @ZoSo
    Hola.
    La variable TNS_ADMIN apunta al directorio donde se encuentran los archivos de configuración de la red de ORACLE, que se llaman tnsnames.ora, listener.ora y sqlnet.ora. Como en tu caso estas instalando un cliente necesitaras seguramente el tnsnames.ora si quieres hacer conexiones del tipo / @. Existen muchas plantillas en el internet de este archivo, es de texto, por lo cual para su composición simplemente te basta con copiar, pegar y modificar el archivo.

    FJA

  7. @Diego Camacho.
    Hola Diego, mira el tutorial que tengo de ApEx sobre un servidor de OVH. Alli esta como poner las variables de entorno. Es simplemente configurar las variables ORACLE_HOME, ORACLE_BASE, ORACLE_SID, y PATH. Si no tienes estas variables no sabe que ejecutar.
    Slds

  8. Hola

    Como puedo saber a que tnsnames esta apuntando mi base si existen varios

  9. Gracias Fernando, fue de mucha ayuda el post. Lo instalé en tres patadas.

    Saludos!

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>