Guía Completa de Instalación de Oracle APEX
Instalación de Oracle BD XE, APEX, ORDS y Tomcat en Windows
Introducción
En esta ocasión les traigo una guía sobre como instalar distintas versiones de Oracle APEX y ORDS de una manera detallada, sencilla y paso a paso tomando en cuenta las últimas versiones a la fecha de publicación de este post. Incluye:
Oracle XE 21c, Oracle APEX 24.1, ORDS 22.4 y Tomcat 9
Descarga Los Recursos Necesarios
Oracle APEX 24.1, también puedes descargar las versiones anteriores desde aquí
Oracle Java version 11 o 17 (Solo en caso de que no lo tengas ya instalado, es necesario para la instalación del ORDS).
¿Cómo verficarlo? muy simple, abre la consola de Windows y escribe lo sgte.:
java -version
Verás algo como esto
Instalación de Oracle Database 21c XE
Descomprimir los archivos dentro de una carpeta, luego ejecutamos el archivo de nombre setup
como administrador para instalar los prerequisitos.
De lo contrario nos aparecerá el siguiente mensaje.
Una vez finalizada la instalación de los prerequisitos automáticamente iniciará el asistente de instalación de la base de datos.
Damos clic en siguiente y aceptamos los términos.
Luego seleccionamos el lugar donde se instalará la base de datos.
Seguidamente establecemos la contraseña que será utilizada para las cuentas de SYS, SYSTEM y PDBADMIN.
Luego nos mostrará un pequeño resumen de los directorios de instalación, los cuales debemos tener siempre en cuenta y procedemos a instalar.
Durante el proceso de instalación, es probable que el asistente del Firewall de Windows solicite autorizar el acceso a los procesos de Oracle XE a la red, para lo cual debemos seleccionar "Permitir Acceso":
Una vez finalizada la instalación nos mostrará la siguiente pantalla con información sobre la conexión a la base de datos.
Ingresamos al SQLPlus y nos conectamos con el usuario SYS
Con esto podemos visualizar que efectivamente nos creo la base de datos sin problemas, por ende damos por concluida esta fase.
Instalación de Oracle APEX
Obs: Una vez descargados los recursos necesarios mencionados al principio del post, se deben extraer los archivos de instalación del APEX y el ORDS en una carpeta específica para cada uno que incluyan nombres cortos y sin espacios, de preferencia dentro del disco c:\
. De modo a facilitar el acceso al directorio durante la instalación, por ejemplo: c:\apex
y c:\ords
.
Iniciamos la consola de comandos con permisos de administrador e iniciamos el SQL*Plus dentro del directorio de archivos de instalación del APEX.
cd C:\apex && sqlplus /nolog
Ahora nos conectamos a la base de datos con el usuario SYS
especificando el rol SYSDBA
. presionamos enter
e ingresamos la contraseña de dicho usuario.
connect sys as sysdba
Establecemos el contenedor en el cuál vamos a instalar APEX, en este caso sería XEPDB1
.
alter session set container = XEPDB1;
Procedemos a realizar la instalación de tipo Full development environment.
@apexins.sql SYSAUX SYSAUX TEMP /i/
Obs: Cuando se instala APEX, crea las siguientes cuentas de base de datos:
APEX_240100: esta cuenta posee el esquema y los metadatos de APEX. (El nombre de esta cuenta varia con cada versión)
FLOWS_FILES: esta cuenta posee los archivos cargados de APEX.
APEX_PUBLIC_USER: esta cuenta con privilegios mínimos se usa para la configuración de APEX con ORDS.
Una vez finalizada la ejecución del comando anterior, ejecutemos el script apxchpwd.sql
el cual creará la cuenta de administrador de instancias cuyo nombre por default es ADMIN
,lo dejamos así y presionamos enter
momento en que nos solicitará una contraseña, La cuál debe contener al menos:
1 Caracter Especial
1 Caracter Numérico
1 Letra Mayúscula y 1 Minúscula
Seguidamente nos solicitará una dirección de correo electrónico la cuál ya es opcional, teniendo en cuenta esto procedemos a ejecutar el archivo.
@apxchpwd.sql
Configuración de la cuenta APEX_PUBLIC_USER
Desbloqueamos el Usuario APEX_PUBLIC_USER y le asignamos una nueva contraseña, ya que esta cuenta se crea con una contraseña aleatoria durante la instalación y debe ser cambiada antes seguir con las configuraciones.
Obs: La contraseña no debe tener caracteres especiales.
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY TuContraseña ACCOUNT UNLOCK;
Configuración de los Servicios RESTful
Ahora debemos configurar los servicios RESTful ejecutando lo siguiente:
@apex_rest_config.sql
Cuando se le solicite, ingrese una contraseña para las cuentas APEX_LISTENER y APEX_REST_PUBLIC_USER. (Pueden ser las mismas)
Al configurar los servicios RESTful en Oracle APEX, crea dos nuevas cuentas de base de datos.
APEX_LISTENER: la cuenta utilizada para consultar las definiciones de RESTful Services almacenadas en Oracle APEX.
APEX_REST_PUBLIC_USER: la cuenta utilizada al llamar a las definiciones de RESTful Services almacenadas en Oracle APEX.
Extender vida útil de las contraseñas
Para evitar que las contraseñas asignadas a los usuarios creados recientemente caduquen, vamos a ejecutar el siguiente código, esto modifica el perfil de nombre Profile
de esta manera y pasado un tiempo no tendremos errores relacionados a la caducidad de las contraseñas. Recuerden que esto lo realizamos para un entorno de desarrollo. (Omitir para entornos productivos).
alter profile default limit password_life_time unlimited;
Deshabilitamos el Oracle XML DB Protocol Server
Deshabilitamos el servidor de protocolo XML ya que utilizaremos el puerto 8080 con Tomcat
EXEC DBMS_XDB.SETHTTPPORT(0);
Habilitación de servicios de red en la base de datos
Ahora vamos a otorgar privilegios de conexión para el usuario de BD que posee el esquema y metadatos de APEX.
Antes de ejecutar el próximo código ten en cuenta lo siguiente.
Si queremos habilitar el acceso solo para localhost reemplazamos el
'*'
por la palabra'localhost'
en el parámetro host.Parámetro
principal_name
según las versiones de Oracle APEX.
APEX Version | Principal Name |
20.2 | APEX_200200 |
21.1 | APEX_210100 |
21.2 | APEX_210200 |
22.1 | APEX_220100 |
22.2 | APEX_220200 |
23.1 | APEX_230100 |
23.2 | APEX_230200 |
24.1 | APEX_240100 |
BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => 'APEX_240100',
principal_type => xs_acl.ptype_db));
END;
/
Con esto finaliza la instalación de Oracle APEX en la Base de datos, el siguiente paso será instalar el ORDS.
Instalación de Oracle REST Data Service (ORDS)
Obs: Aquí debemos recordar que al principio del post habíamos creado el directorio C:\ords
en el cual deben estar los archivos de instalación previamente descargados. Pero si aún no esta creado no hay problema, creamos una carpeta de nombre ords dentro del disco C:\ y luego descomprimimos los archivos de instalación dentro de esa carpeta.
ORDS 22.1 en Adelante
Desde la versión 22.1 del ORDS la instalación se realiza de la siguiente manera, debemos crear el directorio c:\ords_setup
y dentro de este directorio creamos una carpeta con el nombre de config
en donde se guardará la configuración del ORDS.
Adicional a esto tambien creamos una carpeta con el nombre logs
que almacenará los registros relacionados al ORDS, lo cuál será muy útil en caso de que tengamos algún tipo de error.
Lo siguiente que debemos hacer es abrir la consola de comandos de windows con permisos de administrador y ubicarnos dentro del directorio bin
del ords
, para ello escribimos lo siguiente:
cd c:\ords\bin
Debe quedar de la siguiente manera:
Teniendo en cuenta esto y las carpetas de c:\ords_setup\config
y c:\ords_setup\logs
ya creadas, procedemos a ejecutar la siguiente línea para Instalar ORDS en Modo Interactivo.
ords --config C:\ords_setup\config install --interactive --log-folder c:\ords_setup\logs
Obs: Si no tienen instalado el JDK de Java, al ejecutar el siguiente comando automáticamente los dirigirá al sitio de descarga del mismo. Una vez descargado e instalado simplemente procedan a ejecutarlo nuevamente.
Lo primero que nos solicita es el tipo de instalación. Para este caso como es una instalación nueva vamos a dejarlo por default en la opción 2 y presionamos enter
.
Enter a number to select the type of installation
[1] Install or upgrade ORDS in the database only
[2] Create or update a database pool and install/upgrade ORDS in the database
[3] Create or update a database pool only
Choose [2]:
Luego nos pide el tipo de conexión, nuevamente lo dejamos por defecto en la opción 1 y presionamos enter
.
Enter a number to select the database connection type to use
[1] Basic (host name, port, service name)
[2] TNS (TNS alias, TNS directory)
[3] Custom database URL
Choose [1]:
Nos solicita el host de la base de datos, también lo dejamos por defecto al igual que el puerto y presionamos enter
.
Obs: en caso de contar con un host o puerto distinto al por default, no duden en especificar dichas configuraciones en cada item.
Enter the database host name [localhost]:
Enter the database listen port [1521]:
En cuanto nos solicite el service_name
debemos especificar que utilizaremos XEPDB1
luego presionamos enter
y nos solicitará un usuario para confirmar los cambios, ingresamos el usuario sys
con la contraseña correspondiente y volvemos a presionar enter
.
Enter the database service name [orcl]:XEPDB1
una vez conectado correctamente lo siguiente que aparecera será especificar los tablespace que utilizarán ORDS_METADATA
y ORDS_PUBLIC_USER
los cuales simplemente dejamos por defecto y seguimos.
Enter the default tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [SYSAUX]:
Enter the temporary tablespace for ORDS_METADATA and ORDS_PUBLIC_USER [TEMP]:
Como penúltimo paso nos pregunta que funciones queremos activar en la base de datos y especificamos que todas, ingresamos la Opción 1
o presionamos enter
, ya que por defecto toma esa opción.
Enter a number to select additional feature(s) to enable:
[1] Database Actions (Enables all features)
[2] REST Enabled SQL and Database API
[3] REST Enabled SQL
[4] Database API
[5] None
Choose [1]:
Finalmente llegamos a la última configuración en la cuál nos pide especificar la modalidad en la que funcionará en ORDS
, para este caso ya que utilizaremos el Tomcat para acceder al APEX
vamos a omitir el modo standalone, por ende ingresamos la Opción 2 y presionamos enter
.
Enter a number to configure and start ORDS in standalone mode
[1] Configure and start ORDS in standalone mode
[2] Skip
Choose [1]:2
Realizadas las configuraciones procederá a la instalación del ORDS con los parámetros que hemos seleccionado.
Al final y si todo se instaló correctamente veremos algo similar a esta imagen, en la cuál podremos ver la versión instalada del ORDS, en nombre del contenedor en el cual fue instalado entre otras cosas.
Desinstalar ORDS
En caso de que por A o B motivo el ORDS presente algún error y necesites desinstalarlo para volverlo a instalar, solo debes seguir estos pasos.
Ingresa nuevamente al directorio donde se encuentran los archivos de instalación del ords
, luego a la carpeta bin
y ejecuta el siguiente dentro de la consola de comandos.
ords uninstall
finalmente sigue las intrucciones para indicar la base de datos de la cual deseas removerlo y listo.
Debería aparecer una imagen similar a esta, en donde te indica que el ORDS fue removido exitosamente.
Instalación de Apache Tomcat 9
Procedemos a ejecutar el instalador, aceptamos los términos y en la sessión de componentes marcamos la casilla de Host Manager
ya que por default lo trae deshabilitado, luego le damos en siguiente.
Luego dejamos el puerto tal cual esta y agregamos un usuario y contraseña para función de administrador, el cuál en un futuro nos podría ser muy útil.
En la siguiente pantalla nos detectará automáticamente el Java que tenemos instalado, el cuál es necesario para su correcto funcionamiento. (en caso de que no nos detecte dicha ubicación simplemente le indicamos donde se encuentra instalado).
Lo siguiente será especificar la ruta de instalación del Tomcat, lo especificamos y procedemos a instalar.
Una vez finalizada la instalación desactivamos las casillas de inicio automático y del readme ya que aún no queremos que se inicialice, caso contrario simplemente detenemos el proceso.
Configuración de imágenes de APEX en Tomcat
Ahora debemos copiar la carpeta image
ubicada en los archivos de instalación del APEX
.
y lo pegamos dentro de la carpeta webapps
que se encuentra dentro de la ruta de instalación del Tomcat y lo renombramos al nombre de i
, quedando de la siguiente manera.
Configuración de Variable de Entorno - Método 1
Como hemos visto anteriormente ORDS requiere de un directorio de configuración específico para su instalación de lo cuál el Apache Tomcat no tiene ni idea, por ello debemos indicarle donde se encuentra esa configuración por medio de las variables de entorno.
Nos dirigimos a las variables de entorno del sistema y creamos la variable JAVA_TOOL_OPTIONS
, En caso de que ya exista la variable y contenga datos solo debemos agregar ;
y colocamos la configuración.
-Dconfig.url=C:\ords_setup\config
Quedando de esta manera.
Configuración de Variable de Entorno - Método 2
En caso de que el método 1 no haya funcionado, puede intentar de la siguiente manera.
Primero ingresa a la aplicación de configuración de Tomcat denominado Configure Tomcat
.
Luego haz clic en la pestala JAVA
y en la sessión de Java Options
agregas el siguiente código, tal como se ve en la imagen
-Dconfig.url=C:\ords_setup\config
Finalmente, le das en Aplicar > Aceptar, reinicias el tomcat y listo.
Ajustes Finales
Para finalizar copiamos el ords.war
que se encuentra en los archivos de instalación del ORDS dentro de la carpeta webapps del Tomcat
Ahora solo resta iniciar el Tomcat e ingresar a la URL http://localhost:8080/ords/, con eso sería todo.
Despedida
Como verás es un proceso algo extenso pero con buenos resultados.
Puedes dejarme tus comentarios y sugerencias, si te sirvió esta guía no dudes en compartir para ayudar a más personas.
También puedes contactarme en LinkedIn o unirte al Grupo de Telegram para seguir aprendiendo.