|
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.
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
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:
# groupadd oinstall useradd -g oinstall \ -d /home/oracle \ -s /bin/bash \ -c "Usuario propietario de los archivos de Oracle" \ -m oracle
apt-get install make rpm binutils gcc ln -s /usr/bin/awk /bin/awk ln -s /usr/bin/rpm /bin/rpm
# cat > /etc/redhat-release << EOF Red Hat Linux release 2.1 (drupal) EOF
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 EOFEl 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.
# cat >> /etc/profile << EOF . /etc/env.common EOF # cat >> /root/.bashrc << EOF . /etc/env.common EOF
# . /etc/profile mkdir -p /u01/app/oracle chown -R oracle.oinstall /u01
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 ...
xhost + xauth extract /tmp/x `xauth list | grep unix:0 | awk '{print $1}'` chmod a+r /tmp/x
su - oracle xauth merge /tmp/x export DISPLAY=:0.0 geditY deberá mostrarse el editor de texto para Gnome en la pantalla. Si no lo tiene instalado, pruebe con cualquier aplicación X-Window.
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 ...
Nos iremos a una consola como usuario root, y ejecutaremos ...
/u01/app/oracle/oraInventory/orainstRoot.shUna vez ejecutado, volveremos a la ventana del instalador y pulsaremos el botón Continue.
Pulse el botón Next, cuando haya acabado.
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.
Desmarque las siguientes opciones, en este orden ...
Dejando sólo marcadas las siguientes ...
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.
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) ) )
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
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...
apt-get install tora qt3-dev-tools libqt3-headers g++ libqt3-mt-devAceptaremos la lista de paquetes que a su vez, dependan de estos.
apt-get remove --purge tora
# 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
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
apt-get install libqt3c102-mt-odbc libqt3c102-mt-mysql
rm ~/.tora*y volvamos a lanzar el programa.
Lo podremos ver ejecutando ...
/usr/local/bin/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 mailto: ignacio@adesx.com
|