Admin

12 нояб. 2020 г.1 мин.

Установка и настройка APEX в БД Oracle

Пост обновлен 29 авг. 2021 г.

Распаковать архив с Apex 5.0 в папку на диске, например /u01/distr/apex

cd /u01/distr/apex

sqlplus / as sysdba

--при включенном OMF

sql> create tablespace apex;

p.s.: После выполнения каждой команды, рекомендуется отключаться от БД и подключатся снова

--Устанавливаем порт в 0

sql>EXEC DBMS_XDB.SETHTTPPORT(0);

--Устанавливаем сам Apex

sql>@apexins APEX APEX TEMP /i/

--Устанавливаем пароль для учетной записи администратора

sql>@apxchpwd

--Настраиваем

sql>@apex_epg_config /u01/distr

--Разблокируем пользователя anonymous

sql>ALTER USER ANONYMOUS ACCOUNT UNLOCK;

--Загружаем картинки

sql>@apxldimg.sql /u01/distr

--Задаем нужный порт

sql>EXEC DBMS_XDB.SETHTTPPORT(8080);

Разрешаем работу сетевому сервису

DECLARE

ACL_PATH VARCHAR2(4000);

BEGIN

-- Look for the ACL currently assigned to '*' and give APEX_050000

-- the "connect" privilege if APEX_050000

--does not have the privilege yet.

SELECT ACL INTO ACL_PATH FROM DBA_NETWORK_ACLS

WHERE HOST = '*' AND LOWER_PORT IS NULL AND UPPER_PORT IS NULL;

IF DBMS_NETWORK_ACL_ADMIN.CHECK_PRIVILEGE(ACL_PATH, 'APEX_050000',

'connect') IS NULL THEN

DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE(ACL_PATH,

'APEX_050000', TRUE, 'connect');

END IF;

EXCEPTION

-- When no ACL has been assigned to '*'.

WHEN NO_DATA_FOUND THEN

DBMS_NETWORK_ACL_ADMIN.CREATE_ACL('power_users.xml',

'ACL that lets power users to connect to everywhere',

'APEX_050000', TRUE, 'connect');

DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL('power_users.xml','*');

END;

/

COMMIT;

--Настраиваем параметры БД

sql>ALTER SYSTEM SET JOB_QUEUE_PROCESSES = 20 SCOPE = BOTH;

sql>ALTER SYSTEM SET SHARED_SERVERS = 5 SCOPE=BOTH;

--Проверяем что получилось

http://hostname:port/apex/apex_admin

--Номер текущего порта

SELECT dbms_xdb.gethttpport FROM dual

    980
    0