Instalando TOra en Archlinux

Desde hacía mucho tiempo deseaba tener instalado el TOra en mi sistema. Por alguna u otra razón, cada vez que lo intenté en distintas distros (Gentoo, Ubuntu) terminé abatido.

Sin embargo, esta vez, en Archlinux tuve éxito y quiero compartir la bitácora del camino recorrido con Ud. querido lector.
  • Lo primero es instalar yaourt para facilitar la instalación del cliente de Oracle y el TOra. Con este wrapper instalado, ahora tenemos acceso a los paquetes que están en AUR.
  • Ahora procedemos a instalar las librerías del cliente de Oracle. Por supuesto, utilizando yaourt. yaourt -S instantclient-basic instantclient-sdk.
  • Una vez que se han instalado estos paquetes, es neceario declarar la variable de ambiente ORACLE_HOME. En lo personal, las variables de entorno las declaro en ~/.bashrc. En mi caso, esta variable apunta a /opt/instantclient.
  • El siguiente paso, es instalar TOra. Nuevamente con yaourt. Sin embargo, la instalación de este paquete tiene un pequeño truco. Es necesario aplicar un parche, de acuerdo a esta página (Descarga el parche aqui).
  • Una vez que haz bajado y descomprimido el parche, ejecutas la siguiente instrucción: yaourt -S tora-instantclient. Luego de realizar algunas acciones, el script preguntará si se desea editar el archivo PKGBUILD. En ese caso le decimos que sí escribiendo la letra 'Y'. Si el script no encuentra la variable de ambiente EDITOR, entonces pide se ingrese en que editor de textos ha de abrir el archivo. En mi caso, escribo 'nano'. Se ubica la lína 23, que contiene la instrucción para aplicar el parche 'tora-instantclient.patch'. Copiamos esta linea, y la modificamos para que apunte a donde tenemos el parche: patch -p1 -i /home/develop/downloads/fix_build_qt47.patch, y grabamos el archivo y salimos del editor. El script continuará haciendo lo que sabe hacer, y nosotros esperaremos unos momentos a que finalice.
  • Como penúltimo paso, es necesario crear el archivo tnsnames.ora. Este archivo le indicará a Oracle dónde se encuentra la base de datos a la cual se ha de conectar, y por supuesto TOra utilizará esta ruta para conectarse. De acuerdo a esta página, el archivo tnsnames.ora se debe crear en $ORACLE_HOME/network/admin. Mi archivo se ve asi:
coneccion =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oreb.um.edu.mx)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = coneccion)
    )
  )

  • Aqui viene el secreto para lograr conectarse a Oracle. Después de buscar en Google y de intentar diversas soluciones, encontré en esta página la solución. Se ejecuta el siguiente query en Oracle para que nos regrese el nombre del servicio: select sys_context('USERENV', 'DB_NAME') || '.' ||
    sys_context('USERENV', 'DB_DOMAIN') service_name from dual;
    , y ese nombre lo ponemos en el archivo tnsnames.ora
 ora.um.edu.mx =
  (DESCRIPTION =
    (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = oreb.um.edu.mx)(PORT = 1521))
    )
    (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = ora.um.edu.mx)
    )
  )


Siguiendo estos pasos, fue como yo logré echar a andar el TOra, y espero esta pequeña guía les sirva a muchos más...!!!

Comentarios

Entradas populares de este blog

Batch File como Servicio de Windows

Cómo crear archivos XML en Java con JAXB

SQL y los acentos