lunes, agosto 02, 2004

Oracle 9i y SuSE 9.1 

Con este manual, pretendo escribir unos pequeños apuntes de como he conseguido que funcionen algunas cosas de oracle en linux. Este manual no orienta paso a paso en como se debe realizar una instalación de oracle, si no que indica que pasos se han tenido que realizar, a parte de los que se pueden realizar con el programa instalador, para preparar un entorno en el que el programa de instalación no falle.

INSTALACION
La versión de Oracle que he instalado es la 9.2.0.4 para linux de 32 bits.
Antes de comenzar con la instalación he instalado los siguientes programas:
make gcc libgcc libstdc++-devel glibc-devel gcc-c++ que son necesarios a la hora de realizar el link de los productos a instalar.
También he instalado la versión de java 1.3.1 desde la página de Sun
http://java.sun.com/j2se/1.3/download.html
Esta versión de java la he instalado en /usr/local/jre1.3.1_12

Voy a realizar la instalación en /opt/oracle, de manera que tengo modificaré la variable de entorno ORACLE _BASE a ese directorio. El software lo voy a instalar en /opt/oracle/product/9.2.0.4 así que la variable de entorno ORACLE_HOME apuntará a ese directorio.

La instalación del software de oracle no se puede hacer como root, así que he creado un usuario no privilegiado (oracle) con el que ejecutaré en programa de instalación. Además es necesario definir que grupo de usuarios puede realizar modificaciones en la instalación, así que he creado un grupo adicional (dba) al que he añadido al usuario oracle. Los directorios que he mencionado en el apartado anterior tendrán como propietario al usuario oracle y como grupo a dba.

Despues de descargar los 3 ficheros cpio en un mismo directorio:
http://download-uk.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz
http://download-uk.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk2.cpio.gz
http://download-uk.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk3.cpio.gz
los he descomprimido y desempaquetado con los siguientes comandos:
for i in ship* ; do gzip -d $i; done
for i in *.cpio ; do cpio -idmv < $i; done Una vez desempaquetados los ficheros hay que editar el fichero: Disk1/install/linux/oraparam.ini y buscar la definición de la variable JRE_LOCATION y sustituirla por el PATH a la nueva versión de java que se instaló, en el caso que estoy tratando: JRE_LOCATION=/usr/local/jre1.3.1_12

Una vez modificado el fichero, se tienen que exportar las variables ORACLE_HOME y ORACLE_BASE y se puede proceder a ejecutar el comando Disk1/runInstaller.


Es posible que el instalador no muestre los productos que ha instalado en sucesivas instalaciones de productos, esto se soluciona creando el directorio oraInventory/filemap y dentro de este directorio un fichero vacio llamado files.map

También es posible que se puedan dar otros problemas que lo hecho hasta ahora no soluciona, sobre todo problemas con bibliotecas, esto se puede intentar arreglar con unas cuantas variables de entorno:

unset LANG
export JAVA_HOME=/usr/local/jre1.3.1_12/
export LD_ASSUME_KERNEL=2.4.1
export THREADS_FLAG=native


APLICACIONES

Algunas aplicaciones que trae consigo Oracle funcionan con java, entre ellas, está el Oracle Entrerprise Manager, que es una poderosa herramienta de administración. En mi caso, al ejecutar la herramienta con el el comando:
oemapp console

me provocaba el siguiente error:
/opt/oracle/jre/1.1.8/bin/../bin/i686/native_threads/jre: error while loading shared libraries: /opt/oracle/jre/1.1.8/bin/../bin/i686/native_threads/jre: undefined symbol: sysExit

La solución que adopté para poder ejecutar la herramienta es hacer uso del entorno java que está instalado, y huir del entorno jre de oracle, que es la fuente de todos los errores. El comando oemapp es un shell script que prepara las variables de entorno necesarias para ejecutar la aplicación java que se le pida, así que lo que hice fué modificar este shell script para que en vez de ejecutar el comando jre de oracle ejecutara el comando java instalado con el sistema operativo. Para ello comento la linea donde modifica el PATH del sistema para que no busque comandos en el directorio del jre de oracle (aproximadamente por la linea 90 del script) y dado que mi instalación de java no incluye el comando jre cambio las referencias al comando jre por el comando java (linea 100). Es posible que al ejecutar de nuevo el programa, se produzcan errores por parámetros incorrectos, la solución es eliminar del script la definición de esos parámetros.

Get Firefox!

This page is powered by Blogger. Isn't yours?

GeoURL