Instalación Oracle Apex sobre Linux
Простое руководство по установке Oracle Apex и ORDS в системах Linux в формате Standalone.
Версии для установки в этом руководстве:
APEX 24.1
Java23
ORDS 24.4
Загрузки можно найти по следующим ссылкам:
Download Required Software
1) Descargamos la última versión de Oracle Apex, este caso 24.1.
https://www.oracle.com/tools/downloads/apex-241-downloads/
Bajamos el fichero: Oracle APEX 24.1 – All languages
2) Descargamos la última versión de ORDS, en este caso 24.4.
https://www.oracle.com/database/sqldeveloper/technologies/db-actions/download/
Nuestra instalación será en modo Standalone.
3) Bajamos versión JDK 11 o superior. En nuestro caso la versión 23.
https://www.oracle.com/java/technologies/downloads/?er=221886#java23
PASOS A SEGUIR PARA LA INSTALACIÓN DE APEX
В этом посте предполагается, что у нас уже установлена база данных Oracle, в нашем случае Oracle 19.20 на операционной системе Red Hat Enterprise Linux 9.
1) СОЗДАЕМ TABLESPACE, ГДЕ БУДЕТ ВЫПОЛНЕНА УСТАНОВКА APEX
Creamos un nuevo tablespace, le vamos dar el nombrar de APEX donde vamos a realizar la instalación.
SQL> CREATE BIGFILE TABLESPACE APEX DATAFILE SIZE 500M AUTOEXTEND ON next 1G MAXSIZE UNLIMITED ;
- Проверяем правильность установки
SQL> select name from v$tablespace where name='APEX';
Una vez descargados los recursos que hemos indicado anteriormente al principio del post, debemos extraer los archivos de instalación de Apex
y Ords en una carpeta específica para cada una de las instalaciones.
2) УСТАНОВКА ORACLE APEX
Nos dirigimos a la carpeta donde se han extraído los ficheros de apex, donde se encuentra el fichero apexins.sql
El formato de instalación es el siguiente:
— @apexins.sql tablespace_apex tablespace_files tablespace_temp images
SQL> @apexins.sql APEX APEX TEMP /i/
Tras unos minutos recibiremos un mensaje de la que la instalación se ha completado.

3) СОЗДАНИЕ УЧЕТНЫХ ЗАПИСЕЙ АДМИНИСТРАТОРА APEX
После завершения выполнения предыдущей команды выполним скрипт apxchpwd.sql, который создаст учетную запись администратора экземпляров, имя которой по умолчанию ADMIN. В нашем случае мы оставляем пользователя ADMIN.
Необходимо учитывать следующее при выборе пароля для пользователя-администратора:
* Password must contain at least one punctuation character (!»`’#$%&()[]{},.*+-/|\:;?_~).
SQL> @apxchpwd.sql
…set_appun.sql
Этот скрипт можно использовать для изменения пароля администратора экземпляра Oracle APEX. Если пользователь еще не существует, будет создана запись о пользователе
Введите имя пользователя администратора [ADMIN]
Пользователь «ADMIN» еще не существует и будет создан.
Введите адрес электронной почты ADMIN [ADMIN] rgpinto
Введите пароль ADMIN []
Создан администратор экземпляра ADMIN.
4) РАЗБЛОКИРУЕМ ПУБЛИЧНОГО ПОЛЬЗОВАТЕЛЯ И УСТАНАВЛИВАЕМ ПАРОЛЬ.
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 deja el usuario bloqueado, por tanto debe ser cambiada antes seguir con las configuraciones. Esta contraseña no puede tener caracteres especiales.
Пользователь APEX_PUBLIC_USER по умолчанию имеет профиль DEFAULT, поэтому, если вы хотите избежать истечения срока действия пароля, необходимо изменить параметр PASSWORD_LIFE_TIME. В моем случае, будучи тестовым экземпляром, я собираюсь создать новый профиль, чтобы срок действия пароля не истекал, очевидно, в производственных средах это нежелательно, и в целях безопасности лучше менять пароль каждые 180 дней, значение, установленное в профиле DEFAULT.
SQL> CREATE PROFILE "UNLIMITED_PWD_EXPIRATION" LIMIT
CPU_PER_SESSION UNLIMITED
CPU_PER_CALL UNLIMITED
CONNECT_TIME UNLIMITED
IDLE_TIME UNLIMITED
SESSIONS_PER_USER UNLIMITED
LOGICAL_READS_PER_SESSION UNLIMITED
LOGICAL_READS_PER_CALL НЕОГРАНИЧЕННО
PRIVATE_SGA НЕОГРАНИЧЕННО
COMPOSITE_LIMIT НЕОГРАНИЧЕННО
PASSWORD_LIFE_TIME НЕОГРАНИЧЕННО
PASSWORD_GRACE_TIME DEFAULT
PASSWORD_REUSE_MAX НЕОГРАНИЧЕННО
PASSWORD_REUSE_TIME НЕОГРАНИЧЕННО
PASSWORD_LOCK_TIME 1
FAILED_LOGIN_ATTEMPTS 10;
Назначаем новый профиль пользователю APEX_PUBLIC_USER. Меняем пароль и разблокируем пользователя.
SQL> ALTER USER APEX_PUBLIC_USER PROFILE UNLIMITED_PWD_EXPIRATION;
User altered.
SQL> ALTER USER APEX_PUBLIC_USER IDENTIFIED BY <password> ACCOUNT UNLOCK;
User altered.
5) КОНФИГУРАЦИЯ СЕРВИСОВ RESTful
На этом этапе мы настроим Oracle REST Data Services в качестве веб-сервера, на котором статические файлы будут предоставляться с помощью модуля RESTful, встроенного в Oracle APEX. Для этого необходимо запустить файл apex_rest_config.sql.
В этом процессе создаются две новые учетные записи базы данных, поэтому необходимо назначить пароль новым созданным пользователям.
SQL> @apex_rest_config.sql
Процедура PL/SQL успешно завершена.
.
.
.
Процедура PL/SQL успешно завершена.
Введите пароль для пользователя APEX_LISTENER []
Введите пароль для пользователя APEX_REST_PUBLIC_USER []
6) ОТКЛЮЧИТЕ Oracle XML DB Protocol Server, если он не отключен.
Отключаем сервер протокола XML, чтобы избежать использования порта, который мы собираемся настроить.
6.1 – Проверяем, что он отключен:

В противном случае выполняем следующее:
EXEC DBMS_XDB.SETHTTPPORT(0);
7) ДОСТУП К БАЗЕ ДАННЫХ (ACL)
По умолчанию сетевые службы, которые позволяют подключаться к пользователю базы данных, владеющему схемой APEX, отключены, поэтому необходимо использовать пакет DBMS_NETWORK_ACL_ADMIN, чтобы предоставить привилегии подключения этому пользователю.
Перед запуском команды необходимо определить, к какому хосту вы разрешите подключаться к APEX.
- Если мы хотим предоставить привилегии подключения к любому хосту для базы данных, владеющей схемой APEX, мы будем использовать *.
- Если мы хотим предоставить привилегии подключения только серверам, которые работают на том же хосте базы данных, мы будем использовать localhost.
Подключившись как DBA, выполняем следующую команду. В нашем случае мы будем использовать *, чтобы предоставить разрешения на подключение к любому хосту.
SQL> BEGIN
DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE(
host => '*',
ace => xs$ace_type(privilege_list => xs$name_list('connect'),
principal_name => APEX_APPLICATION.g_flow_schema_owner,
principal_type => xs_acl.ptype_db));
END;
/
PL/SQL procedure successfully completed.
SQL>
8) INSTALACIÓN ORACLE REST Data Service (ORDS)
Creamos un directorio donde se realizará la instalación. En nuestro caso /u01/ords.
unzip ords-24.4.0.345.1601.zip -d /u01/ords/
8.1) Вне каталога ords, в соответствии с требованиями Oracle, создаем каталог config, в котором впоследствии укажем настройки ORDS.
mkdir -p /u01/ords_install/config
8.2) Создаем папку images».
mkdirimages
Copiamos todas las imágenes del directorio «images» de nuestra instalación de APEX a la ubicación «images» de nuestro ORDS.
cp -r images/u01/ords/
Создаем папку для логов вне каталога ords.
mkdir -p /u01/ords_install/logs
9) INSTALACION JAVA
Antes de comenzar la instalación del ORDS, es necesario tener en nuestro sistema la versión de Oracle Java que la versión de Apex requiera cómo requerimiento. Dependiendo la versión de Oracle Apex la versión soportada de Java cambia, para nuestra versión se requiere Java 11 o 17.
Проверяем нашу текущую версию:
[oracle@localhost ords]$ java -version
openjdk version "1.8.0_272"
OpenJDK Runtime Environment (build 1.8.0_272-b10)
OpenJDK 64-Bit Server VM (build 25.272-b10, mixed mode)
[oracle@localhost ords]$
Actualizamos la versión de java de la siguiente manera:
[oracle@localhost softwareapex]$ sudo rpm -iv jdk-23_linux-x64_bin.rpm
Снова проверяем версию и видим, что она успешно обновлена:
[oracle@localhost softwareapex]$ java -version
java version "23.0.2" 2025-01-21
Java(TM) SE Runtime Environment (build 23.0.2+7-58)
Java HotSpot(TM) 64-Bit Server VM (build 23.0.2+7-58, mixed mode, sharing)
10 СОЗДАНИЕ ORDS.
Создаем новый tablespace для хранения данных ORDS.
SQL> CREATE BIGFILE TABLESPACE ORDS DATAFILE SIZE 500M AUTOEXTEND ON next 1G MAXSIZE UNLIMITED ;
Tablespace created.
Lanzamos la instalación. Dentro de la carpeta bin del directorio ords, lanzamos el siguiente comando.
./ords --config /u01/ords_install/config install --interactive --log-folder /u01/ords_install/logs
Важно: Параметр –config указывает на каталог конфигурации, а параметр –log-folder указывает, где будут храниться файлы журналов ords.
Elegimos la base de datos donde se realiza la instalación.
Oracle REST Data Services — интерактивная установка
Введите число, чтобы выбрать имя сетевой службы TNS для использования из /u01/app/oracle/product/19/dbhome_1/network/admin/tnsnames.ora, или укажите соединение с базой данных
[1] TEST SERVICE_NAME=test
[S] Укажите соединение с базой данных
Выберите [1]:
Repasamos los valores de la instalación, y cambiamos algunos valores para adecuarlos a nuestros requisitos. Una vez establecidos, usamos la opción [A] y comienza la instalación. Nuestra instalación se realizará con el protocolo HTTP.
Introduzca un número para actualizar el valor, o bien seleccione la opción A para aceptar y continuar
[1] Tipo de conexión: TNS
[2] Conexión TNS: TNS_NAME=TEST TNS_FOLDER=/u01/sw/network/admin
Usuario administrador: SYS AS SYSDBA
[3] Contraseña de base de datos para usuario de tiempo de ejecución de ORDS (ORDS_PUBLIC_USER): <contraseña especificada>
[4] Usuario de tiempo de ejecución de ORDS y tablespaces de esquema: Valor por defecto: ORDS Temporal TEMP
[5] Función adicional: Acciones de Base de Datos
[6] Configurar e iniciar ORDS en modo autónomo: Sí
[7] Protocolo: HTTP
[8] Puerto HTTP: 8080
[9] Ubicación de recursos estáticos de APEX:
[A] Aceptar y continuar - Crear configuración e instalar ORDS en la base de datos
[Q] Salir - No continuar. Sin cambios
Una vez finalizada la instalación, podemos lanzar el ejecutable ORDS para acceder a Apex, vía Web.
Внутри папки bin ords запускаем следующую команду вручную:
./ords --config /u01/ords_install/config serve --port 8080 imagesimages
Если все в порядке, желательно создать скрипт запуска / остановки службы.
Теперь вы можете получить доступ к своей домашней странице APEX.
http://localhost:8080/ords
Pantalla inicial tras instalación Oracle Apex.


