Olá, nesse artigo iremos instalar o APEX - Oracle Application Express.
Links úteis:
Pré-requisitos:
Abaixo os passos necessários para instalação da ferramenta:
Como usuário: oracle
Download APEX:
wget https://download.oracle.com/otn_software/apex/apex_24.1.zip
Download ORDS:
wget https://download.oracle.com/otn_software/java/ords/ords-24.3.1.306.1450.zip
Vamos descompactar o APEX:
unzip apex_24.1.zip
Vamos descompactar o ORDS:
mkdir -p /home/oracle/ords
unzip ords-24.3.1.306.1450.zip -d /home/oracle/ords
Vamos copiar o diretório de imagens que está dentro do diretório do APEX para o diretório do ORDS:
cd /home/oracle/apex
cp -rp images /home/oracle/ords
A partir do diretório do APEX (/home/oracle/apex) vamos realizar a conexão ao banco de dados e iniciar a instalação:
cd /home/oracle/apex
sqlplus / as sysdba
show pdbs
CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 PDBP_APEX READ WRITE NO
alter session set container = PDBP_APEX;
Vamos criar uma tablespace dedicada:
create tablespace TBS_APEX_DATA datafile '+DATA' size 50M autoextend on;
Vamos iniciar o processo de instalação das packages necessárias:
@apexins.sql TBS_APEX_DATA TBS_APEX_DATA TEMP /i/
Abaixo o output do final da execução do script @apexins.sql
# Actions in Phase 3:
#
ok 1 - BEGIN | 0,00
ok 2 - Updating DBA_REGISTRY | 0,00
ok 3 - Computing Pub Syn Dependents | 0,00
ok 4 - Upgrade Hot Metadata and Switch Schemas | 0,00
ok 5 - Removing Jobs | 0,02
ok 6 - Creating Public Synonyms | 0,00
ok 7 - Granting Public Synonyms | 0,07
ok 8 - Granting to FLOWS_FILES | 0,00
ok 9 - Creating FLOWS_FILES grants and synonyms | 0,00
ok 10 - Syncing ORDS Gateway Allow List | 0,00
ok 11 - Creating Jobs | 0,00
ok 12 - Creating Dev Jobs | 0,00
ok 13 - Installing FLOWS_FILES Objects | 0,02
ok 14 - Installing APEX$SESSION Context | 0,00
ok 15 - Recompiling APEX_240100 | 0,02
ok 16 - Installing APEX REST Config | 0,00
ok 17 - Set Loaded/Upgraded in Registry | 0,00
ok 18 - Setting Patch Status: APPLIED | 0,00
ok 19 - Removing Unused SYS Objects and Public Privs | 0,00
ok 20 - Validating Installation | 0,03
ok 3 - 20 actions passed, 0 actions failed | 0,15
Thank you for installing Oracle APEX 24.1.0
Oracle APEX is installed in the APEX_240100 schema.
The structure of the link to the Oracle APEX administration services is as follows:
http://host:port/ords/apex_admin
The structure of the link to the Oracle APEX development interface is as follows:
http://host:port/ords
timing for: Phase 3 (Switch)
Elapsed: 0,15
timing for: Complete Installation
Elapsed: 6,00
SYS>
Vamos criar a conta de administrador da instância do APEX:
@apxchpwd.sql
Abaixo o output da execução do script @apxchpwd.sql
SYS> @apxchpwd.sql ...set_appun.sql ================================================================================ This script can be used to change the password of an Oracle APEX instance administrator. If the user does not yet exist, a user record will be created. ================================================================================ Enter the administrator's username [ADMIN] User "ADMIN" does not yet exist and will be created. Enter ADMIN's email [ADMIN] admin@admin.com Enter ADMIN's password [] Created instance administrator ADMIN.
Configuring RESTful Services
Durante uma nova instalação, é necessário configurar os serviços de Restful:
@apex_rest_config.sql
Abaixo o output da execução do script @apex_rest_config.sql
SYS> @apex_rest_config.sql Enter a password for the APEX_LISTENER user [] Enter a password for the APEX_REST_PUBLIC_USER user [] ...set_appun.sql ...setting session environment ...create APEX_LISTENER and APEX_REST_PUBLIC_USER users ...grants for APEX_LISTENER and ORDS_METADATA user SYS>
Podemos verificar os novos usuários/schemas criados durante esse processo:
select username from dba_users where username like 'APEX%';
USERNAME ------------------------------------------------ APEX_LISTENER APEX_PUBLIC_ROUTER APEX_PUBLIC_USER APEX_REST_PUBLIC_USER APEX_240100
Vamos desbloquear os usuários abaixo:
alter user APEX_PUBLIC_USER account unlock;
alter user APEX_240100 account unlock;
Vamos habilitar os serviços de rede dentro do banco de dados:
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;
/
Vamos verificar qual é a porta atual do serviço HTTP dentro do banco:
select dbms_xdb.gethttpport from dual;
No meu caso o serviço não têm porta definida:
GETHTTPPORT
-----------
0
Vamos então definir a porta como 8081.
exec dbms_xdb.sethttpport('8081');
select dbms_xdb.gethttpport from dual;
Vamos verificar novamente após realizarmos a alteração:
GETHTTPPORT
-----------
8081
Podemos seguir agora com a configuração do ORDS.
Como usuário: root
su -
mv /home/oracle/ords /u01
mkdir -p /etc/ords/config
mkdir -p /etc/ords/logs
chown -R oracle:oinstall /etc/ords
Como usuário: oracle
export JAVA_HOME=<SEU_DIRETORIO_JAVA>
export PATH=$PATH:$JAVA_HOME/bin
/u01/ords/bin/ords --config /etc/ords/config install \
--log-folder /etc/ords/logs \
--admin-user SYS \
--db-hostname oracledbapex \
--db-port 1521 \
--db-servicename PDBP_APEX \
--feature-db-api true \
--feature-rest-enabled-sql true \
--feature-sdw true \
--gateway-mode proxied \
--gateway-user APEX_PUBLIC_USER \
--proxy-user
Abaixo os parâmetros da linha de comando usados durante essa instalação:
Vamos configurar o diretório estático das imagens no ORDS: standalone.static.path
/u01/ords/bin/ords --config /etc/ords/config config set standalone.static.path /u01/ords/images
Como usuário: root
Vamos adicionar o serviço do ORDS ao systemd.
vi /etc/systemd/system/ords.service
Cole o seguinte conteúdo no arquivo /etc/systemd/system/ords.service:
[Unit] Description=Oracle REST Data Services After=network.target [Service] User=oracle Group=oinstall WorkingDirectory=/u01/ords ExecStart=/u01/ords/bin/ords --config /etc/ords/config serve Restart=always RestartSec=5s [Install] WantedBy=multi-user.target
Vamos reiniciar o serviço/daemon do systemd:
systemctl daemon-reload
Vamos habilitar a inicialização automática sempre que o sistema for reiniciado:
systemctl enable ords.service
Para que o usuário oracle possa iniciar, reinicilizar e para o serviço, precisamos adicionar uma nova entrada no sudoers:
visudo
ou
vi /etc/sudoers
Cole o seguinte conteúdo:
oracle ALL=(ALL) NOPASSWD: /bin/systemctl start ords.service, /bin/systemctl stop ords.service, /bin/systemctl restart ords.service, /bin/systemctl status ords.service
Como usuário: oracle
Vamos iniciar o serviço do ORDS:
sudo systemctl start ords.service
sudo systemctl status ords.service
Agora podemos realizar o acesso a interface Web do ORDS e APEX:
A página “HOME” do ORDS, fornece acesso a 3 ferramentas:
Ao clicar no botão “GO” da aplicação central “Oracle APEX” seremos redirecionados a tela de login da ferramenta.
Lembrando que a página Home do APEX, também pode ser acessada diretamente através da seguinte URL:
Já o acesso ao WORKSPACE:
Ao logarmos pela primeira vez, nos é apresentada a tela de criação de WORKSPACE:
- Até a próxima.
— Autor: Leonardo Lopes 19/11/2024 18H:38