Cómo instalar Oracle Apex 20.2 o superior en Oracle Database 18c/21c XE bajo Windows

Previo a la instalación de  Oracle Apex 20.2 se debe conocer que esta nueva versión depende de Oracle REST Data Service mas conocido como ORDS 20.3 que es un Web Listener que hace las veces de intermediario para la comunicación entre el navegador web y los objetos de Oracle APEX.

Este proceso de instalación lo realizaremos en tres fases:

Primera Fase: Descargar archivos de instalación.

1) Descargar Oracle Apex 20.2

2) Descargar ORDS  20.3

Segunda Fase: Instalar Oracle Apex 20.2

1) Descomprimir el archivo descargado apex_20.2.zip en c:\apex

2) Copiar la ruta donde descomprimió el archivo apex descargado.

3) Abrir la consola Command o CMD.

4) Submitir sqlplus/nolog

5) Conectarse como usuario SYS AS SYSDBA usando la PDB XEPDB1.

      conn sys/contraseña@localhost:1521/XEPDB1 as sysdba

6) Ejecutar 

      @apexins.sql SYSAUX SYSAUX TEMP /i/


7) Verificar el puerto http con la sentencia select:
     

      select dbms_xdb.gethttpport from dual;

8) Cambiar el puerto http con la ejecución del procedimiento siguiente:
     
      exec dbms_xdb.sethttpport(0);

9) Desbloquear los usuarios: ANONYMOUS, XDB, APEX_PUBLIC_USER, FLOWS_FILES con las sentencias siguientes:

     alter session set container=CDB$ROOT;

      alter user ANONYMOUS account unlock; 

  alter user XDB account unlock;

       alter session set container=XEPDB1;
 
  alter user APEX_PUBLIC_USER account unlock;
 
  alter user FLOWS_FILES account unlock;
 
  alter user APEX_PUBLIC_USER 
  identified by contraseña;         
 
10)  Crear el perfil que se asignará al usuario  APEX_PUBLIC_USER:
    create profile APEX_USER_PROFILE limit 
          PASSWORD_LIFE_TIME UNLIMITED;
   alter user APEX_PUBLIC_USER profile APEX_USER_PROFILE;

 Tercera Fase: Instalar ORDS 20.3

1) Descomprimir el archivo descargado ords-20.2.1.227.0350.zip en la carpeta C:\ords

2) Copiar la ruta donde descomprimió el archivo ORDS descargado. 

3) Copiar la carpeta images desde c:\apex hasta c:\ords

3) Abrir la consola Command o CMD.

4) Ejecutar el comando cd C:\ords\

5) Ejecutar el comando 

    java -jar ords.war configdir C:\ords\config

Si  la ejecución de este comando genera un resultado como el siguiente: 

INFO        Defina config.dir en C:\ords\config en: C:\ords\ords.war 

..., ignorar y pasar a la ejecución de la instrucción número  6.

6) Ejecutar el comando 

    java -jar ords.war install advanced

En las siguientes configuraciones el valor encerrado entre corchetes al final de cada opción, es el valor por defecto o por omisión, en este ejemplo se respetan los valores por defecto.

Especifique el tipo de conexión de la base de datos que desea utilizar.
Introduzca el número de [1] Básica  [2] TNS  [3] URL personalizada [1]:
Introduzca el nombre del servidor de la base de datos [localhost]:
Introduzca el puerto de recepción de la base de datos [1521]: Introduzca 1 para especificar el nombre de servicio de la base de datos o 2 para especificar el SID de la base de datos [1]:

Para el nombre de servicio, se empelará XEPDB1, si Ud. dispone de otras PDB's puede introducir el nombre de alguna de éllas:
Introduzca el nombre de servicio de la base de datos:XEPDB1 

Para el siguiente parámetro de configuración, se RECOMIENDA la oipción por defecto.

Introduzca 1 si desea verificar/instalar el esquema de Oracle REST Data Services o 2 para omitir este paso [1]:1

Para el siguiente parámetro de configuración, deberá ingresar dos veces la misma contraseña que Ud deberá generar. 

Introduzca la contraseña de la base de datos de ORDS_PUBLIC_USER:  SuContraseña
Confirmar Contraseña:   
SuContraseña

Se inicia el proceso de verificación del esquema ORDS. 

 Requiere la conexión con privilegios de administrador para verificar el esquema de Oracle REST Data Services.

Su administrador es SYS AS SYSDBA.

Introduzca el nombre de usuario del administrador:sys as sysdba
Introduzca la contraseña de la base de datos de sys as sysdba: SuContraseña
Confirmar Contraseña:
SuContraseña

Conectando a la base de datos: Usuario: sys as sysdba URL: jdbc:oracle:thin:@//localhost:1521/XEPDB1

Recuperando información.
Introduzca el tablespace por defecto para ORDS_METADATA [SYSAUX]:

Introduzca el tablespace temporal para ORDS_METADATA [TEMP]:

Introduzca el tablespace por defecto para ORDS_PUBLIC_USER [USERS]:

Introduzca el tablespace temporal para ORDS_PUBLIC_USER [TEMP]:

Introduzca 1 si desea utilizar el gateway PL/SQL o 2 para omitir este paso.

Si utiliza Oracle Application Express o migra desde mod_plsql, deberá introducir 1 [1]:

Introduzca el nombre de usuario de la base de datos de gateway PL/SQL [APEX_PUBLIC_USER]: 

Introduzca la contraseña de la base de datos de APEX_PUBLIC_USER: SuContraseña 

Confirmar Contraseña: SuContraseña

Introduzca 1 para especificar las contraseñas de los usuarios de base de datos de los servicios RESTful de Application Express (APEX_LISTENER, APEX_REST_PUBLIC_USER) o 2 para omitir este paso [1]:

Introduzca la contraseña de la base de datos de APEX_LISTENER: SuContraseña 

Confirmar Contraseña: SuContraseña

Introduzca la contraseña de la base de datos de APEX_REST_PUBLIC_USER: SuContraseña

Confirmar Contraseña: SuContraseña

Introduzca un número para seleccionar una función que activar:
   [1] SQL Developer Web (activa todas las funciones)
   [2] SQL activado para REST
   [3] API de base de datos
   [4] SQL activado para REST y API de base de datos
   [5] Ninguna
Seleccione [1]:1

Se inicia el proceso de instalación de ORDS.

INFO        reloaded pools: []
Instalando Oracle REST Data Services versión 20.3.0.r1781804
...Archivo log grabado en C:\Users\ROBERTO\ords_install_core_2020-07-29_220034_00628.log
... Requisitos de base de datos verificados
... Se ha creado el usuario de proxy de Oracle REST Data Services
... Se ha creado el esquema de Oracle REST Data Services
... Se han otorgado privilegios a Oracle REST Data Services
... Se han creado los objetos de base de datos de Oracle REST Data Services
... Archivo log grabado en C:\Users\ROBERTO\ords_install_datamodel_2020-07-29_220255_00217.log
... Archivo log grabado en C:\Users\ROBERTO\ords_install_apex_2020-07-29_220307_00275.log
Instalación de Oracle REST Data Services versión 20.3.0.r1781804 completada. Tiempo transcurrido: 00:02:50.195

Introduzca 1 si desea iniciar en modo autónomo o 2 para salir [1]:2

7) Ejecutar SQLPLUS y conectarse como SYS AS SYSDBA

     sqlplus SYS/contraseña@XEPDB1 as SYSDBA 

8) Ejecutar la sentencia

     @apex_rest_config.sql

 Procedimiento PL/SQL terminado correctamente.
 Procedimiento PL/SQL terminado correctamente.

Enter a password for the APEX_LISTENER user  []                 SuContraseña

Enter a password for the APEX_REST_PUBLIC_USER user              [] SuContraseña 

...set_appun.sql
...setting session environment
Procedimiento PL/SQL terminado correctamente.
Procedimiento creado.
Sesi¾n modificada.

SQL> 

9)  Ejecutar el procedimiento APPEND_HOST_ACE del paquete
DBMS_NETWORK_ACL_ADMIN para habilitar los servicios de red
:

BEGIN
 DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
  host => '*',

  ace=>xs$ace_type(privilege_list => xs$name_list('connect'),
  principal_name => 'APEX_200200',
  principal_type => xs_acl.ptype_db));
 

END;
 /

Procedimiento PL/SQL terminado correctamente.

10) Ejecutar ORDS manualmente desde CMD:

cd c:\ords

java  -jar ords.war standalone
Enter  the APEX static resources location [C:\ords\images]:
Enter  1 if using HTTP or 2 if using HTTPS [1]:
Enter the HTTP port [8080]: 
 
Finalmente, ejecutar su navegador web e ingresar a Oracle Apex 20.2 
usando la siguiente URL:  http://localhost:8080/ords/
 
Conclusión:
La instalación de Oracle Apex 20.2 implica obligatoriamente la instalación de ORDS como WebListener, proceso que en primera instancia parece algo extenso, sin embargo, con la práctica se podrá observar que es un proceso rápido y de fácil ejecución que permitirá correr Apex en Oracle XE y obtener las ventajas de desarrollo en este entorno amigable, rico en características y flexible. 
 



Comentarios

Unknown dijo…
Hola muchas gracias por este tutorial me ha servido de guia, solo que me dio problema al ejecutar este comando:
7) Ejecutar SQLPLUS y conectarse como SYS AS SYSDBA

sqlplus SYS/contraseña@XEPDB1 as SYSDBA
y me da este error:
Error: Application Express is installed locally in a PDB and you are connected
to CDB$ROOT.
Resolution: Connect directly to the PDB to upgrade or configure Application
Express.
declare
*
ERROR en lÝnea 1:
ORA-00900: sentencia SQL no vßlida
ORA-06512: en lÝnea 60


Desconectado de Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
Version 18.4.0.0.0
Roberto PZ dijo…
Hola, intente lo siguiente:

alter session set container=XEPDB1;

Este comando le permitirá conectarse a la base de datos de conexión.

Espero que este comentario sea de utilidad.

Cordiales.
Unknown dijo…
Hola Roberto, como puedo conectar mi aplicacion a varios esquemas, que estan alojados en mi base de datos¡
estoy migrando modpl/sql a ords
Roberto PZ dijo…
Hola desconocido.
Puedes emplear Web Services.
Si aún tienes dudas puedes contactarme.

Cordiales.
Anónimo dijo…
Sabe alguien el porque de este error?




SQL> conn sys/contraseña@localhost:1521/XEPDB1 as sysdba
ERROR:
ORA-12541: TNS:no hay ning·n listener

------------------------------------------------------------

SQL> conn sys/contraseña@/XEPDB1 as sysdba
ERROR:
ORA-12154: TNS:no se ha podido resolver el identificador de conexi¾n
especificado
Hola.
El error: ERROR:
ORA-12154: TNS:no se ha podido resolver el identificador de conexi¾n
especificado

se debe a :

1) El listner no se encuentra en ejecución, debes comprobar su estado con el comando lsnrctl status.

2) No tienes configurada una entrada en el archivo TNSNAMES.ORA para la pdb XEPD1, deberás crear una entrada para XEPDB1 en dicho archivo.

Cordiales.
Unknown dijo…
Tengo el siguiente error, he intentado instalar versiones antiguas de Java a ver si se soluciona pero no puedo.

c:\ords> java -jar ords.war configdir C:\ords\config
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/dbtools/launcher/executable/jar/ExecutableJarEntrypoint has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)



Tengo la versión más actualizada. Java 8 update 333
Andres_idro90 dijo…
Hola,

tengo un problema al instalar ords.war, cuando ingreso la clave de sys me sale este error. "Error. La versión ORDS_VERSION no existe". no se a que se debe. ayuda
Roberto PZ dijo…
Hola Andrés, intenta instalar nuevamente con el siguiente comando:
java -jar ords.war install advanced
Andres_idro90 dijo…
me sigue saliendo el mismo error, con ese commando...
Roberto PZ dijo…
Hola Andrés, desinstalaa el producto ORDS.
java -jar ords.war uninstall

Y después reinstala con java -jar ords.war install advanced
Carlos Berlanga dijo…
Hola, muchas gracias por el tutorial, sin embargo tengo una cuestión, cuando termina todo el proceso de instalación del ORDS (22.2.1) se queda la ventana quieta, es decir no permite ingresar otros comandos, y cuando lo cierro se cae todo el ORDS en el localhost, me pregunta es si hay manera de que no se caiga sin cerrar la ventana de instalación? Gracias
Adjunto los Campos que me sale cuando termina de instalar:



.
.
.
12-22721:16:21.580Z WARNING
*** jdbc.Maxlimit in configuration |default|lo| is using a value of 10, this setting may not b
adequately for a production environment ***
12-2221:16:21.5812 WARNING
*** jdbc. Initiallimit in configuration |default|lo| is using a value of 3, this setting may no
zed adequately for a production environment ***
12-22721:16:25.4632 INFO
Oracle REST Data Services initialized
e REST Data Services version : 22.2.1.2021302
REST Data Services server info: jetty/9.4.48.20220622
Le REST Data Services java info: Java HotSpot (TM) 64-Bit Server VM 19.0.1+10-21
Anónimo dijo…
hOLA BUENAS TARDES.
sEGUI TODOS LOS PASOS PARA INSTALAR TANTO APEX COMO ords.
AL FINALIZAR LA INSTALACION COPIO EL url SUGERIDO
http://localhost:8080/ords/

mE APARECE LA PAGINA DE CONECCION CON apex.
PIDE wORKSPACE
USUARIO Y PASSWORD.

QUE DATOS DEBO INGRESAR EN ESTA PANTALLA PARA INICIAR el uso de la herramienta
gracias
Roberto PZ dijo…
Hola anónimo, debes iniciar el ords con el siguiente comando:
java -jar ords.war standalone
Unknown dijo…
Buenos días, anoche estuve instalando siguiendo los pasos de este tutorial y me salta un error al terminar de instalar el ORDS, cuando intento ingresar como SYS AS SYSDBA, el error me aparece en el punto 7 de la instalación del ORDS, al ejecutar este comando "@apex_Rest_config.sql"
ERROR:
Fis dijo…
Hola porfavor quisiera saber como conectar APEX con otros BD o Schemas
Roberto PZ dijo…
Hola, por medio de WEBSERVICES.

Entradas más populares de este blog

Crear y Administrar Espacios de Tablas(Tablespaces) Parte 1

Como conectarse a Oracle Database XE desde la línea de comandos.

Crear usuarios, asignar y revocar roles en Oracle XE con SQL Developer