4Trabes Historias de una empresa en 100 metros cuadrados

El blog de Trabe Soluciones

Post instalación de Oracle XE 10 en Ubuntu Server

|

Hace un par de años (como pasa el tiempo), escribí este pequeño paso a paso sobre como hacer que oracle XE 10 funcione en ubuntu server de 64 bits. Hoy me ha tocado instalar XE de nuevo, y los pasos descritos en el artículo me han ahorrado mucho más tiempo del que en su día me llevó escribirlo.

Sin embargo, me he dado cuenta que una parte de las instrucciones, la correspondiente a “ciertos procesos de post-instalación”, sólo estaba en un wiki trabe-privado. Son pequeñas cosas, pero si no “aciertas”, puedes perder un montón de tiempo, con lo que las dejo apuntadas por aquí por si pudieran ayudar a alguien (quien sabe, quizás incluso ayuden a no perder tiempo al marcos del futuro).

Una vez instalado y configurado Oracle, necesitaremos meter en el path el directorio bin de la distribución, para tener acceso a las herramientas oracleras. Para ello podemos añadir algo como esto a nuestro .bashrc:

1
export PATH=$PATH:/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/

También es necesario fijar la variable ORACLE_HOME. Mucho ojo, si ponéis un slash (/) al final de la cadena, tendréis problemas:

1
export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server

Si ahora intentamos lanzar sqlplus, muy probablemente obtendremos el siguiente error:

1
ORA-12162: TNS:net service name is incorrectly specified

Esta es la curiosa forma que tiene oracle de decirnos que tenemos que fijar la variable ORACLE_SID. Editamos de nuevo nuestro .bashrc:

1
export ORACLE_SID=XE

CUIDADO: la XE ha de estar en mayúsculas. Si hacemos mal este paso, luego tendremos errores imposibles de descifrar y perderemos mucho tiempo.

Ahora que ya tenemos nuestras variables de entorno, sqlplus debería funcionar correctamente…pero no es así. Si intentamos ejecutarlo, tendremos un nuevo error:

1
2
3
4
ERROR:
ORA-01034: ORACLE not available
ORA-27101: shared memory realm does not exist
Linux Error: 2: No such file or directory

Great, vamos avanzando, el error ahora ya es específico de nuestra plataforma. Tras algo de investigación y ensayo-error, llegamos a la solución a este problema:

1
chmod 6750 /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/tnslsnr

Si, tal como lo leeis, problemas de permisos…increible pero cierto. Una vez cambiados los permisos, reiniciamos el servicio de oracle-xe y todo debería funcionar.

Lo sentimos, pero los comentarios están cerrados