Mi Web 

Instalación del cliente Oracle10G y Tora

Introducción

Cuando tenemos que desarrollar una aplicación que acceda a un servidor de Base de Datos, se hace casi imprescindible el disponer de un cliente que nos facilite nuestro trabajo. Entre los desarrolladores de aplicaciones Oracle, es muy famoso TOAD el cual se presenta como un producto robusto e intuitivo que implementa desde labores propias del desarrollo hasta las más complejas labores de administración. Por desgracia este cliente es propietario (Quest Software), y tiene un coste de licencia alto.

Gracias al equipo de desarrollo de TORA, los usuarios de software libre podemos conformarnos con usar una herramienta similar, que además de servir de cliente Oracle, es compatible con ODBC, MySQL, y PostgreSQL.

La propia Oracle posee un site para albergar herramientas Open Source, con las que poder trabajar con su base de datos. También podemos encontrar más documentación sobre Tora y Oracle en la web de Amis (fíjese en los enlaces de la lista izquierda).

En este documento describo cómo instalar TORA 1.3.15 para acceder a servidores Oracle, MySQL y PostgreSQL, además de manejar conexiones ODBC, sobre Debian GNU/Linux Sarge. He tenido la ocasión de probarlo con éxito desde una instalación de Debian Bussines Card y desde Ubuntu.

Instalación del cliente Oracle 10G

Lo primero que debemos hacer es tener accesibles los ficheros de la instalación de Oracle 10G server. En mi caso, los he dispuesto vía samba en mi servidor helicon, dentro de una carpeta compartida llamada comun, sobre la que le he dado permisos de lectura al usuario pepe, y accederé a ellos de la siguiente forma:

$ su -
mkdir /mnt/samba
smbmount //helicon/comun /mnt/samba -o username=pepe

Si desea hacerlo de un aforma análoga, y no dispone del cliente samba, bastará con ejecute como root:

apt-get install smbfs

Preparación de Debian

Una vez están accesibles los ficheros de la instalación de Oracle 10G, deberemos prepara nuestro sistema Debian, para hacerle pensar a Oracle que se irá instalar sobre una RedHat Advanced Server 2.1, que es una de las plataformas certificadas para el cliente 10g.

Para ello, siga la siguiente secuencia de pasos:

  1. Crear el usuario y grupo, propietario de los ficheros de Oracle:
    # groupadd oinstall
    useradd -g oinstall \
            -d /home/oracle \
            -s /bin/bash \
            -c "Usuario propietario de los archivos de Oracle" \
            -m oracle
  2. Instalar rpm y dejar enlaces simbólicos, como están en RedHat, y no como están en Debian:
    apt-get install make rpm binutils gcc
    ln -s /usr/bin/awk /bin/awk
    ln -s /usr/bin/rpm /bin/rpm
  3. Crear el fichero de la versión de RedHat, que engañará al instalador de Oracle:
    # cat > /etc/redhat-release << EOF
    Red Hat Linux release 2.1 (drupal)
    EOF
  4. Preparar las variables de entorno que requiere el cliente Oracle
    cat >> /etc/env.common << EOF
    export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:/lib
    export PATH=\$PATH:/usr/local/bin
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_SID=test
    EOF
    El valor de la variable ORACLE_SID, deberá sustituirse por el SID de la Bas de datos a la que queramos acceder, aunque como después veremos, no es del todo obligatoria.
  5. Asegurarnos de que todos los usuarios del sistema, tendrán estas variables en su entorno.
    #  cat >> /etc/profile << EOF
    . /etc/env.common 
    EOF
    
    #  cat >> /root/.bashrc << EOF
    . /etc/env.common 
    EOF
  6. Crear el directorio, en el que instalaremos el cliente, y dárselo al usuario oracle.
    #  . /etc/profile
    mkdir -p /u01/app/oracle 
    chown -R oracle.oinstall /u01

Preparación del display

Ahora, necesitaremos asegurarnos de que como el usuario Oracle que acabamos de crear, somos capaces de ejecutar aplicaciones gráficas en el escritorio del usuario con el que arrancamos X-Window. Para ello ...

Respondiendo a OracleInstaller

Llegado este punto, es el momento de lanzar el instalador de Oracle, y empezar a copiar el software en nuestro sistema. Para ello, primero deberá ejecutar OracleInstaller mediante ...

su - oracle
xauth merge /tmp/x 
export DISPLAY=:0.0
unset  ORACLE_HOME
unset  LANG
/mnt/samba/Disk1/runInstaller

Como se puede observar, lanzaremos el instalador en Inglés, dado que las versiones anteriores para 9i presentaban varios Bugs con la versión en castellano: No sé, si 10G los habrá solucionado o no, pero eso es un ejercicio que dejaré para los lectores más intrépidos (tratándose de Oracle).

Ahora, sólo faltará, como aquel que dice, darle al botón de Siguiente ...

  1. Welcome to the Oracle Database 10g Installation (ver pantallazo). Marque el botón de opción Advanced Installation, y pulse el botón Next.
  2. Specify Inventory directory and credentials (ver pantallazo). En las opciones ...
    • Enter the full path ... , dejaremos lo que se nos sugiere: /u01/app/oracle/oraInventory
    • Specify operting system group name, dejaremos el grupo sugerido: oinstall
    As que pulsaremos el botón Next.
  3. Oracle Universal Installer (ver pantallazo). La última acción provocará que nos aparezca una ventana del Installer, pidiéndonos que ejecutemos un script como root:

    Nos iremos a una consola como usuario root, y ejecutaremos ...

    /u01/app/oracle/oraInventory/orainstRoot.sh
    Una vez ejecutado, volveremos a la ventana del instalador y pulsaremos el botón Continue.
  4. Specify File Locations (ver pantallazo). Dentro de las opciones Destination, cambiar el campo Path y escribir /u01/app/oracle/product/10.1.0.

    Pulse el botón Next, cuando haya acabado.

  5. Select Installation Type (ver pantallazo). Marcar el botón de opción Custom, y luego hacer click sobre el botón Product Languages...

    En la nueva ventana que le aparecerá (Language Selection: ver pantallazo),

    Busque Spanish, en la lista izquierda etiquetada como Avaliable languages, y luego pulse el boton >, para pasarlo a la lista Selected languages.

    Para cerrar esta ventana pulsaremos el botón OK, y una vez en la anterior pincharemos en el botón Next.

  6. Avaliable Product Components (ver pantallazo).

    Desmarque las siguientes opciones, en este orden ...

    1. Enterprise Edition Options
    2. Oracle Net Services
    3. Oracle Database 10g

    Dejando sólo marcadas las siguientes ...

    • Oracle Enterprise Manager 10g (opcional, por si queremos administrar de forma remota)
    • Oracle Development Kit
    Pulsar el botón Next cuando hayamos accabado.
  7. Summary (ver pantallazo). Nos mostrará un resumen de todos los programas que se van a instalar, ante el cual sólo queda la posibilidad de pulsar el botón Next.
  8. Install (ver pantallazo). Habrá que esperar un buen rato.

    Cuando el proceso llegue al 100%, nos aparecerá una ventana de error (Cancel: ver pantallazo), porque no puede encriptar una contraseña, que en ningún momento nos ha pedido (todo producto de oracle tiene algún problemilla, y este no iba a ser menos. )

    Marcaremos la opción Stop installation of this component only, y pulsaremos el botón OK.

    Después se nos mostrará una ventana titulada Setup Privileges, donde nos pide que ejecutemos un script como usuario root. Nos iremos a una consola del root y teclearemos ...

    /u01/app/oracle/product/10.1.0/root.sh

    Cuando nos pregunte, algo como lo siguiente ...

    Enter the full pathname of the local bin directory: [/usr/local/bin]:

    Le responderemos pulsando la tecla Enter. Una vez haya terminado de ejecutarse el script, pulsaremos OK en la ventana Setup Privileges.

  9. End of Installation (ver pantallazo). Pulsar el botón Exit.

Ahora, como usuario root actualizaremos las variables de entorno, de forma que los ficheros estén disponibles para todos los usuarios:

cat >> /etc/env.common <<EOF
export ORACLE_HOME=\$ORACLE_BASE/product/10.1.0
export PATH=\$PATH:\$ORACLE_HOME/bin
EOF

Y configurar el fichero $ORACLE_HOME/network/admin/tnsnames.ora, para poder conectar a diferentes servidores de base de datos ...

ORION =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = helicon)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orion)
    )
  )

Desinstalar el cliente Oracle

En cualquier momento podremos desinstalar el cliente de oracle, mediante ...

su -

rm -f /etc/oraInst.loc \
      /etc/oratab \
      /usr/local/bin/coraenv \
      /usr/local/bin/dbhome \
      /usr/local/bin/oraenv
rm -rf /u01

cat /etc/env.common | grep -v ORACLE > /tmp/env.new
mv /tmp/env.new /etc/env.common

Instalación de TORA

Vamos a instalar tora en nuestro sistema. Ello lo haremos compilando la última versión que haya disponible en http://sourceforge.net/projects/tora (en nuestro caso la 1.3.15), con ayuda de nuestro inestimable stow.

Una vez adquirido el TGZ de la última versión de TORA, seguiremos la siguiente secuencia de pasos...

  1. Instalar la versión de TORA, disponible vía apt. Esto lo haremos para que al instalarlo se traiga todas las librerías de las que dependa la ejecución de TORA:
    apt-get install tora qt3-dev-tools libqt3-headers g++ libqt3-mt-dev
    Aceptaremos la lista de paquetes que a su vez, dependan de estos.
  2. Desinstalar la versión de TORA. Una vez se han instalado todos los paquetes, desinstalaremos el TORA que acabamos de instalar, dado que no incluye de ninguna manera soporte para oracle.
    apt-get remove --purge tora
  3. Variables de entorno que necesita TORA. Al compilar el programa, inspeccionará las variables de nuestro entorno para saber si tenemos instalado Oracle, y habilitar con ello el soporte: Esto lo consiguieremos mediante...
    # cat >> /etc/env.common <<EOF
    export LD_LIBRARY_PATH=\$LD_LIBRARY_PATH:\$ORACLE_HOME/lib
    export TNS_ADMIN=\$ORACLE_HOME/network/admin
    EOF
    
    . /etc/env.common
  4. Compilar e instalar TORA mediante stow. Para ello , y siendo usuario root ...
    cd /opt
    tar -xzvf ~/tora-1.3.15.tar.gz
    cd tora-1.3.15
    ./configure --prefix=/usr/local/stow/tora-1.3.15
    make
    make install
    cd /usr/local/stow && stow tora-1.3.15
  5. Habilitar el soporte para MySQL y PostgreSQL. A partir de la versión 3 de KDE, se trae soporte nativo para estas bases de datos, con lo que simplemente bastará con ...
    apt-get install libqt3c102-mt-odbc libqt3c102-mt-mysql
  6. Indicarle a TORA que reconstruya la lista de drivers. La primera vez que ejecutamos TORA con un usuario Unix, el programa se recorre las librerías del sistema para saber qué drivers de conexión a Base de Datos, puede usar el usuario. Después de instalar un nuevo driver, veremos como no está disponible para TORA, hasta que ejecutemos el siguiente comando,
    rm  ~/.tora*
    y volvamos a lanzar el programa.

Lo podremos ver ejecutando ...

/usr/local/bin/tora
tora/pantallazo12.png

Desinstalación de TORA

Siendo el usuario root, será tan simple como ...

cd /usr/local/stow 
stow -D tora-1.3.15

Esto nos borrará los ejecutables, pero deshabilitará que nadie pueda usar el programa. Para borrarlo realmente, se deberá ejecutar...

rm -fr /opt/tora-1.3.15  /usr/local/stow/tora-1.3.15
>ignacio-barrancos.dnsalias.net
Usuario Linux Registrado: 354313