Oracle Database 10g Express Edition en Linux

(traducción libre de este articulo )

Paso de explicar quienes son oracle y por que los pongo aqui. Como que tengo que currar con el, pues mejor tener una guia. Uno de los productos de oracle es Oracle Database 10g Express Edition. La etiqueta “Express Edition” es para el grupo de productos destinados al desarrollo y a la educación. Este paquete es un paquete TOTALMENTE FUNCIONAL. Porque las ventajas de este paquete es que puedes aprender y experimentar. En contrapartida tiene ciertas limitaciones:

  • El servidor no puede manejar mas de 1 GB de memoria
  • El servidor tan sólo puede tener una CPU
  • El servidor ejecuta como mucho una base de datos por ordenador ( ¡No Schema ! )
  • El servidor está limitado a 4GB de uso de disco duro

A la hora de la verdad, esas limitaciones no son fatales en la mayoría de los casos. Especialmente para aplicaciones web ligeras. Para usos de desarrollo, pruebas y de aprendizaje es perfecto. Por eso el de este manual de como instalarlo:

Descargar los paquetes

  • PARA DEBIAN EN AMD54 : Oracle proporciona su Express Edition para arquitecturas de 32 bits. Por eso apt-get no puede manejarlo cuando tienes un amd64. Por eso tienes que hacerlo a mano Ademas de descargarte la libreria 32-bit glibc6 ( el paquete libc-i386 )
  • PARA LAS DISTRIBUCIONES BASADAS EN RPM: Probablemente ellod deben tener libaio instalado. No estoy muy seguro sobre eso poque yo no tengo ese sistema. Seria bueno, si alguien lo sabe, que aporte su experiencia.

para DEB-ianitas con apt-get

  • Añadir lo siguiente a /etc/apt/sources.list:
deb http://oss.oracle.com/debian/ unstable main non-free
  • ejecutar:
apt-get -d libaio oracle-xe

Para distribuciones basadas en DEB

  • Te puedes bajar libaio de aqui
  • Te puedes bajar Oracle-xe de aqui

Para distribuciones RPM

  • Descargar el paquete oracle-xe rpm-package de aqui

Instalar

Para DEBianitas con apt-get

apt-get install libaio oracle-xe

Para distribuciones basadas en DEB con apt-get

dpkg -i libaio_0.3.104-1_i386.deb
dpkg -i oracle-xe_10.2.0.1-1.1_i386.deb

Para distribuciones DEB* sobre AMD64

apt-get install libc6-i386
dpkg -i –force-architecture libaio_0.3.104-1_i386.deb
dpkg -i –force-architecture oracle-xe_10.2.0.1-1.1_i386.deb

Para RPM

rpm -ivh oracle-xe-10.2.0.1-1.0.i386.rpm

NOTA:

Ilias me advirtio sobre los problemas con los listeners en algunas distribuciones(RHEL 4, Ubuntu AMD64 y puede que mas) debido a los errores de permisos en /var/tmp/.oracle ( y/o en /tmp/oracle) . puedes echarle un vistazo a esta dirección para mas información. Ahi proponen 2 modos para solucionarlo:

  • cambiar el usuario y el grupo del directorio a “oracle” y a “dba” respectivamente
chown oracle:dba /var/tmp/.oracle /tmp/.oracle
  • Dejar el directorio con propietario root pero cambiarle los permisos a 1777 ( Como hacen en Debian):
chmod 1777 /var/tmp/.oracle /tmp/.oracle 

Bueno, probablemente tendrás que reiniciar el listener:

/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl stop
/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/lsnrctl start

Configuración inicial del servidor

La configuración ahora es independiente de la distribución. Hasta que no hagamos esta configuración el servidor no estará operativo. Cuando empiece, abriará 2 puertos TCP , uno para la extremadamente agradable interfaz web y otro para la comunicación del servidor consigo mismo (Oyente de la base de datos). No hace falta decir que el oyente de la base de datos está activo para todas las IPs. Aunque la interfaz web “Application Express” oye sólo en el 127.0.0.1. Por lo que es inaccesible remotamente. He encontrado que esto lo puedes cambier despuest usando la interfaz web, pero hasta entonces usaba un “proggy” llamado “redir” (el paquete Debian tiene el mismo nombre) que usaba para redirigir todas las peticiones al puerto 8080 a la ip 127.0.0.1 despues de lo cual ya podía administrarlo remotamente

  • Debes ejecutar:

/etc/init.d/oracle-xe configure

  • Debes escoger un puerto para el “Application Express” (normalmente 8080)
  • Debes escoger un puerto para el Oyente de la base de datos (normalmente 1521)
  • Debes escoger una contraseña para el usuario system
  • Debes escoger si la base de datos se inicia automaticamente al encender el servidor o no
  • Ya está
  • Es buena idea tener las variables del entorno de oracle accesible para los clientes de Oracle. Una buena opción es incluirlas al final de /etc/profile
 export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib

o bien simplement añadir la siguiente linea:

 . /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
  • Es tambien buena idea poner la path de las librerias de Oracle en /etc/ld.so.conf para que otros programas puedan acceder a ellas
echo '/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib' >> /etc/ld.so.conf
/sbin/ldconfig
  • La administración de Oracle Database 10g Express Edition se puede hacer a traves de:
  1. La interfaz web Application Express que está disponible por defecto en:
 http://127.0.0.1/apex/

- Se puede acceder a traves de la consola SQL*Plus que se suele encontrar en:
 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/sqlplus

y escribir para permitir acceso remoto a la interfaz web:

EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE);
  1. Con la heramienta gráfica Oracle SQL Developer

NOTA: El SID de la base instalada por defecto es “XE”.

Y hasta aqui todo!

Oracle Listeners

Si eres DEBianita bajo /etc/init.d/ se te ha creado un script oracle-xe que te dará muchas opciones

{start|stop|restart|force-reload|configure|status|enable|disable}

(No conozco el entorno RPM)

  • Son especialmente útiles start|stop|force-reload

Hasta arreglar el problema con los listeners la única manera de arrancar Oracle una vez parado era:

/etc/init.d/oracle-xe force-reload
 
ora/instal.txt · Última modificación: 2008/05/13 10:00 (editor externo)
 
Excepto donde se indique lo contrario, el contenido de esta wiki se autoriza bajo la siguiente licencia:CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki