Servidor Oracle DB + APEX + ORDS + JasperReports desde cero (Parte 3)

Servidor Oracle DB + APEX + ORDS + JasperReports desde cero (Parte 3)

Continuaremos con la configuración de nuestro servidor, ahora instalaremos APEX y ORDS

En la publicación anterior hicimos la instalación del servidor de aplicaciones Tomcat. En esta nueva publicación avanzaremos con la instalación de la base de datos, APEX y ORDS.

Oracle XE 21c

La guía para realizar esta instalación se puede encontrar aquí. También sugiero la lectura de este artículo

La primera tarea es descargar el archivo RPM de instalación de XE desde aquí y colocar el archivo descargado en la carpeta home del usuario root. Allí procedemos a ejecutar el siguiente comando para realizar la instalación (este proceso se debe ejecutar como usuario root)

dnf -y localinstall oracle-database-xe-21c-1.0-1.ol8.x86_64.rpm

El proceso de instalación creará de manera automática el usuario y grupos así como hará las adecuaciones necesarias a los parámetros del kernel.

Una vez terminado el proceso de instalación y continuando como el usuario root ejecutamos el siguiente comando

/etc/init.d/oracle-xe-21c configure

Se solicitarán las contraseñas para los usuarios SYS, SYSTEM y PDBADMIN. Una vez completada la instalación es posible bajar/subir la base de datos y el listener con los siguientes comandos (como root):

/etc/init.d/oracle-xe-21c start
/etc/init.d/oracle-xe-21c stop

Oracle APEX 21.1

La guía oficial para la instalación de APEX se puede encontrar aquí sin embargo preferimos usar la versión resumida que se encuentra aquí.

Creamos un nuevo tablespace para almacenar los objetos de APEX

CREATE TABLESPACE apex DATAFILE '/opt/oracle/oradata/XE/XEPDB1/apex01.dbf' SIZE 100M AUTOEXTEND ON NEXT 1M;

Luego procedemos con la instalación, ingresamos al directorio en el servidor donde descargamos y descomprimimos el software de APEX. Iniciamos sesión con el usuario oracle que fue creado durante la instalación de XE.

Una vez allí nos conectamos a la base de datos usando SQL*Plus con el usuario SYS y ejecutamos el script de instalacion en el contenedor XEPDB1

cd /home/oracle/apex
sqlplus sys@localhost:1521/XEPDB1 as sysdba

(en este caso tuve que usar la sintaxis Easy Connect porque tengo otra BD en el servidor y SQL*Plus trataba de conectarse a esa, en otras circunstancias debería ser tan simple como ejecutar sqlplus / as sysdba)

ALTER SESSION SET CONTAINER=XEPDB1;
@apexins.sql APEX APEX TEMP /i/

Una vez completada la instalación cerramos la sesión de SQL*Plus y volvemos a ingresar con SYS para ejecutar unos comandos finales. Recomiendo cerrar SQL*Plus al ejecutar cada comando y volver a ingresar, ya que cada script hace cambios en la configuración de la aplicación que podrían afectar la ejecución de los scripts.

Cambiar la contraseña del usuario ADMIN de APEX (la contraseña debe tener caracteres especiales o fallará la creación)

ALTER SESSION SET CONTAINER=XEPDB1;
@apexchpwd.sql

Crear los usuarios APEX_LISTENER y APEX_REST_PUBLIC_USER

ALTER SESSION SET CONTAINER=XEPDB1;
@apex_rest_config.sql

ORDS

Para la instalación de ORDS tomaremos como base los pasos de esta guía. Descargaremos la última versión de ORDS desde este enlace.

Antes de iniciar la instalación nos conectaremos a base de datos para asegurar que los usuarios de conexión de ORDS están desbloqueados y que conocemos sus contraseñas.

ALTER SESSION SET CONTAINER = XEPDB1;
ALTER USER APEX_LISTENER IDENTIFIED BY Password01 ACCOUNT UNLOCK;
ALTER USER APEX_PUBLIC_USER IDENTIFIED BY Password01 ACCOUNT UNLOCK;
ALTER USER APEX_REST_PUBLIC_USER IDENTIFIED BY Password01 ACCOUNT UNLOCK;

Iniciamos sesión con el usuario tomcat y ejecutamos los siguientes comandos para crear el directorio y descomprimir el archivo que descargamos

mkdir /u01/ords
cd /u01/ords
unzip ords-latest.zip
mkdir -p /u01/ords/conf

Crearemos un directorio para almacenar la configuración de ORDS

mkdir -p /u01/ords/conf

Editaremos el archivo /u01/ords/params/ords_params.properties para indicar los parametros de la instalación

db.hostname=orcl-server.localdomain
db.port=1521
db.servicename=XEPDB1
db.sid=
db.username=APEX_PUBLIC_USER
db.password=Password1
migrate.apex.rest=false
plsql.gateway.add=true
rest.services.apex.add=true
rest.services.ords.add=true
schema.tablespace.default=APEX
schema.tablespace.temp=TEMP
standalone.mode=false
user.tablespace.default=APEX
user.tablespace.temp=TEMP
user.apex.listener.password=Password1
user.apex.restpublic.password=Password1
user.public.password=Password1
sys.user=SYS
sys.password=Password
restEnabledSql.active=true
feature.sdw=true
database.api.enabled=true

Indicamos la ubicación del directorio de configuración

$JAVA_HOME/bin/java -jar ords.war configdir /u01/ords/conf/

Iniciamos el proceso de instalación:

$JAVA_HOME/bin/java -jar ords.war

Realizamos el despliegue al servidor Tomcat

mkdir $CATALINA_BASE/webapps/i/
cp -R /tmp/apex/images/* $CATALINA_BASE/webapps/i/
cd /u01/ords
cp ords.war $CATALINA_BASE/webapps/

Iniciamos el servicio Tomcat en caso que este detenido. Si todo está bien deberíamos poder ingresar a APEX en http://ip-servidor:8080/ords.

Oracle APEX - Sign In.png

En la próxima publicación culminaremos con la instalación de la integración con JasperReports.