Este fin de semana, he querido echarle una ojeada a Oracle Application Express (también conocido como APEX).
Según Wikipedia:
Oracle Application Express o APEX (anteriormente llamado HTML DB) es una herramienta RAD que se ejecuta con una base de datos Oracle. Permite desarrollar prototipos de aplicaciones WEB de forma segura y rápida.
La verdad es que lo poco que he ojeado, es una herramienta muy muy interesante, y es más que probable que escriba sobre ella en este blog, pero, me estoy desviando del hilo principal.
Como comentaba, quería probar la nueva versión 4.2.1 que incorpora entre otras muchas mejoras interesantes, la de ofrecer un servicio RESTful de la BBDD al exterior, pero, Oracle 11G XE (la versión gratuita), de serie, trae la versión 4.1 de APEX.
La instalación, me ha llevado más de un quebradero de cabeza, por ello, me gustaría compartirlo con vosotros. Mi entorno, es un Windows 7 64b.
- Por un lado, la instalación de Oracle 11g XE, hay que realizarla lanzando el setup de instalación como administrador. Puede parecer obvio, pero hay muchos setup que por defecto ya se ejecutan como administrador al lanzarlos, pero el de Oracle, hay que forzarlo, ya que, aunque si no, la instalación se realiza sin ningún problema, y los servicios son instalados, luego no funciona la interfaz web de administración web.
- Una vez tenemos Oracle 11g XE instalado, debemos descargar APEX 4.2.1 de la web de Oracle. Para el caso que nos corresponde, una vez realizado ésto, yo lo he descomprimido en C:\TEMP ya que debe descomprimirse en una ruta que no contenga espacios, y manteniendo la estructura de carpetas, por lo que se nos quedará, una vez descomprimido, como c:\TEMP\apex\…
- Ahora debemos abrir un shell de msdos (Símbolo de Sistema) y cambiar nuestro directorio de trabajo, hacia la carpeta que hemos descomprimido.
C:\TEMP\apex>sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Dom Dic 23 18
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> connect SYS as SYSDBA
Enter password:
Connected.
SQL>
- Ahora ya podemos iniciar el proceso de actualización, con el script correspondiente. @apexinst. Éste, recibe 4 parámetros. El tablespace para APEX, el tablespace de archivos de usuario, el tablespace temporal, y la ruta virtual donde deben ir las imágenes dentro del servidor embebido de Oracle. Si hablamos de una instalación de XE standard, basta que escribáis el siguiente comando (el proceso puede llevarse 20min o más perfectamente dependiendo de la velocidad de vuestro ordenador, así que, aprovechar para tomaros un café)
SQL> @apexins.sql SYSAUX SYSAUX TEMP /i/
- Una vez te has terminado el café, y media tableta de turrón, siempre y cuando el proceso anterior halla finalizado, podemos proseguir con el siguiente comando, que realiza la carga de las imágenes al nuevo APEX instalado. Para ello, nos logueamos de nuevo en sqlplus y lanzamos el comando @apxldimg RUTA_APEX, donde RUTA_APEX es la carpeta donde descomprimimos anteriormente APEX. Es decir, en mi caso, C:\TEMP
C:\TEMP\apex>sqlplus /nolog
SQL*Plus: Release 11.2.0.2.0 Production on Dom Dic 23 18
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> connect SYS as SYSDBA
Enter password:
Connected.
SQL> @apxldimg.sql C:\TEMP
PL/SQL procedure successfully completed.
old 1: create directory APEX_IMAGES as '&1/apex/images'
new 1: create directory APEX_IMAGES as 'C:\TEMP/apex/images'
Directory created.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
PL/SQL procedure successfully completed.
Commit complete.
timing for: Load Images
Elapsed: 00:01:53.88
Directory dropped.
SQL>
Este último paso, es importante, ya que como a mi, si falla, APEX_ADMIN no abrirá, y os quedaréis con cara de tonto. A mi me fallaba ya que la guía que seguí, hablaba de usar una variable de entorno en la ruta, y se vé que no le sentó muy bien. Y hasta que no lancé de nuevo el comando, especificando C:\TEMP sin variables ni nada, no volvió a la normalidad.
- Sólo nos queda cambiar la contraseña de ADMIN. Según la guía de instalación oficial, hay que tocar la configuración de políticas de contraseñas, entiendo, que para que no sea un co##zo, porque, una de las cosas que hay que hacer, es cambiar la contraseña al usuario ADMIN, y la política por defecto, obliga a incluir en ésta un número, un símbolo de puntuación, minúsculas y mayúsculas. Yo, no he cambiado esta configuración, al menos en el proceso de instalación. Así que, lanzaremos el siguiente comando, para cambiar la contraseña:
SQL> @apxchpwd
Ahora mismo, ya tenéis APEX en su versión 4.2.1 en vuestra instalación de Oracle 11g XE. Este pequeño tuto, aplica para la actualización de APEX a 4.2.1 sobre un Oracle 11g XE y su servidor web embebido recién instalado. Si trabajas con APEX sobre APEX Listener en Glassfish, o es una actualización de .a 4.2 a 4.2.1 etc..etc..etc…. mejor remito a la guía oficial.
http://docs.oracle.com/cd/E37097_01/doc/install.42/e35123/toc.htm#BEGIN
Nota: Es importante que tengáis en cuenta, que debéis acceder a http://localhost:8080/apex/ para conectar a un WORKSPACE, o a http://localhost:8080/apex/apex_admin si queréis administrar la instancia.
Espero que os sea de utilidad.