Guía Completa de Instalación  de Oracle APEX

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

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 VersionPrincipal Name
20.2APEX_200200
21.1APEX_210100
21.2APEX_210200
22.1APEX_220100
22.2APEX_220200
23.1APEX_230100
23.2APEX_230200
24.1APEX_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.

Referencias