javoaxian cambió a: javoaxian.me
Este blog se mantendrá como histórico del nuevo javoaxian.me. Por tal motivo, sólo serán creados post que harán referencia a los del nuevo blog. Si hay dudas y comentarios, favor de hacerlos en javoaxian.me.

jueves, 14 de agosto de 2008

Instalar Oracle Express Edition 10g Release 2 en Debian y Ubuntu

Oracle Database 10g Express Edition (Oracle Database XE) es una base de datos de entrada de footprint pequeño, creada sobre la base de código Oracle Database 10g Release 2 que puede desarrollarse, implementarse y distribuirse sin cargo. Algunas restricciones de esta versión de Oracle es que únicamente aprovecha un procesador aunque nuestro servidor cuente con más de uno, el máximo tamaño de almacenamiento es de 4GB y la memoria máxima utilizada será de 1GB aunque contemos con más memoria.

Es este post veremos como podemos instalar Oracle Express Edition 10g (XE) en nuestro Debian y Ubuntu. Esta instalación ha sido hecha tanto en Debian Lenny como en Ubuntu 7.10 Gutsy Gibbon.

El primer paso a seguir, será descargar el archivo oracle-xe-universal_10.2.0.1-1.0_i386.deb de la página de Oracle. Este archivo permite que uses más de un tipo de codificación en tu base de datos. Para bajar el archivo deberás estar registrado.

Ahora nos convertiremos en el usuario root.

javoaxian@darthmaul:~$ su -

Hecho lo anterior, instalaremos las dependencias necesarias para que funcione Oracle XE.

root@darthmaul:~$ apt-get install libc6 libaio1

Ahora que ya tenemos las dependencias, instalaremos el archivo oracle-xe-universal_10.2.0.1-1.0_i386.deb, en mi caso el archivo lo descargué en mi HOME de usuario.

root@darthmaul:~$ dpkg -i /home/javoaxian/oracle-xe-universal_10.2.0.1-1.0_i386.deb

Con ésto tenemos instalada la base de datos, ahora nos encargaremos de configurarla, para este ejecutaremos el siguiente comando:

root@darthmaul:~$ /etc/init.d/oracle-xe configure

A lo cual nos preguntará sobre qué puerto queremos que funcione la aplicación web para administrar la base de datos, en este caso usaré el puerto que nos da por default (8080). En caso que tengan otro servicio trabajando en ese puerto deberán cambiarlo.

Oracle Database 10g Express Edition Configuration
-------------------------------------------------
This will configure on-boot properties of Oracle Database 10g Express
Edition. The following questions will determine whether the database should
be starting upon system boot, the ports it will use, and the passwords that
will be used for database accounts. Press to accept the defaults.
Ctrl-C will abort.

Specify the HTTP port that will be used for Oracle Application Express [8080]:

Ahora nos preguntará el puerto por el cual otras aplicaciones podrán conectarse de manera remota a nuestra base de datos. En mi caso dejé el puerto por default (1521).

Specify a port that will be used for the database listener [1521]:

En el siguiente paso se nos pedirá que asignemos una contraseña y su confirmación para las cuentas de administración de Oracle SYS y SYSTEM.

Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration:
Confirm the password:

Una vez asignada la contraseña, se nos preguntará si deseamos que Oracle XE inicie al arrancar nuestro equipo. En mi caso respondía afirmativamente (Y).

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]:

El programa levantará el servicio para Listener, el cual se encarga de permitir que aplicaciones se conecten de manera remota a la base de datos y dicho programa también se encargará de configurar la base de datos de acuerdo a los parámetros que respondimos.

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done
Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"

Listo, con esto tenemos instalada y configurada nuestra base de Oracle XE.

Si quisieramos detener la base de datos manualmente, bastará con ejecutar el siguiente comando como usuario root.

root@darthmaul:~$ /etc/init.d/oracle-xe stop

Y si quisieramos levantarla manualmente, ejecutaremos lo siguiente:

root@darthmaul:~$ /etc/init.d/oracle-xe start

Si queremos usar la aplicación web que nos instala por default para la administración de la base de datos, deberemos abrir nuestro navegador y teclar la dirección http://127.0.0.1:8080/apex. Esto nos abrirá una página donde se nos pide una cuenta de usuario y su contraseña.


Por el momento tenemos dos cuentas para ingresar a la base de datos SYS y SYSTEM. Ingresamos cualquiera de estas dos y la contraseña que les asignamos a lo cual se nos abrirá una página con la administración de la base de datos.


Ahora bien, si deseamos usar el comando sqlplus para conectarnos o administrar la base de datos, deberemos configurar algunas variables de ambiente. Si queremos que todos nuestros usuarios puedan conectarse a nuestra base de datos, agregaremos las variables en el archivo /etc/profile, en caso contrario, deberemos agregarla en el archivo .bash_profile que se encuentra en el HOME del usuario deseado.

Editamos el archivo correspondiente y agregamos las siguiente variables:

export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
export ORACLE_SID=XE
export NLS_LANG=SPANISH_MEXICO.WE8ISO8859P1
export NLS_DATE_FORMAT="YYYY-MM-DD"
export PATH=$PATH:$ORACLE_HOME/bin

La variable de ambiente ORACLE_HOME indica la ruta donde fue instalado Oracle.
La variable SID indica el identificador de la base de datos, que en este caso el nombre por defautl es XE.
La variable NLS_LANG indica el lenguaje y la codificación de caracteres que deseamos usar con la base de datos.
La variable NLS_DATE_FORMAT indica el formato en que se presentará la fecha.

Guardados los cambios de las variables de ambiente, cargaremos dichos cambios en una sesión actual del usuario con el que deseamos conectarnos a la base de datos. Dependiendo del archivo que hayan modificado /etc/profile o /home/usuario/.bash_profile, deberán ejecutar lo siguiente:

javoaxian@darthmaul:~$ source /etc/profile

o

javoaxian@darthmaul:~$ source $HOME/.bash_profile

Hecho lo anterior, nos conectaremos a la base de datos con cualquiera de las cuentas de administración, de la siguiente manera:

javoaxian@darthmaul:~$ sqlplus SYS as SYSDBA
SQL*Plus: Release 10.2.0.1.0 - Production on Jue Ago 14 15:23:42 2008

Copyright (c) 1982, 2005, Oracle. All rights reserved.

Introduzca la contraseña:

Conectado a:
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

SQL>

Para salir de nuestra sesión de usuario bastará con teclear el comando QUIT o EXIT.

SQL> QUIT
Desconectado de Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production

Cuando realizamos la instalación y la configuración de Oracle XE, automáticamente se creo una cuenta de usuario llamada oracle así como un grupo de trabajo llamado dba. Será recomendable asignarle una contraseña a dicha cuenta para evitar problemas de seguridad. Esto se puede realizar con la cuenta del usuario root, teclando lo siguiente:

root@darthmaul:~$ passwd oracle
Introduzca la nueva contraseña de UNIX:
Vuelva a escribir la nueva contraseña de UNIX:
passwd: contraseña actualizada correctamente

Como pudieron darse cuenta al configurar las variables de ambiente, la ruta donde se instaló Oracle XE fue en /usr/lib/oracle/xe/app/oracle/product/10.2.0/server. Dentro de esta ruta podemos encontrar el directorio bin el cual contiene los comandos necesarios de Oracle, como son sqlplus, lsnrctl, exp, imp, entre otros.

Si quisieramos desinstalar Oracle XE, bastará con ejecutar el siguiente comando como usuario root:

root@darthmaul:~$ apt-get remove oracle-xe-universal

Para finalizar, en el menú principal de Gnome podemos observar que se creó la opción "Oracle Database 10g Express Edition", la cual cuenta con varias opciones. Para que nuestro usuario pueda hacer uso completo de éstas, deberemos de agregarlo al grupo de trabajo dba.

root@darthmaul:~$ addgroup javoaxian dba
Adding user `javoaxian' to group `dba' ...
Añadiendo al usuario javoaxian al grupo dba
Hecho.

Listo, ahora podremos usar las opciones con el usuario que deseemos. En artículos posteriores explicaré como crear tablespace, crear y cargar respaldos, etc.

Referencias:
Oracle Database Express Edition Installation Guide
Instalar Oracle XE en Ubuntu 8.04 Hardy Heron

1 comentario:

Anónimo dijo...

Excelente tu Explicación. muchas gracias por contribuir con tu experiencia.