Oracle APEX Installation
Olá, nesse artigo iremos instalar o APEX - Oracle Application Express.
Links úteis:
- APEX Documentation: https://apex.oracle.com/en/
- Download APEX: https://www.oracle.com/tools/downloads/apex-downloads/
- ORDS Documentation: https://docs.oracle.com/en/database/oracle/oracle-rest-data-services/index.html
- Download JAVA: https://www.oracle.com/lu/java/technologies/downloads/
Pré-requisitos:
- A versão do APEX que iremos instalar é a: 24.1
- A versão do ORDS que iremos instalar é a: 24.3.1.306.1450
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/
- Esse processo por ser demorado devido a quantidade de objetos a serem criados.
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.
- É necessário definirmos o nome de usuário, email e senha do usuário administrador da instância do APEX.
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>
- É necessário definirmos as senhas dos usuários: APEX_LISTENER e APEX_REST_PUBLIC_USER.
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; /
- Lembre-se de ajustar o valor do parâmetro <principal_name> conforme a saída da query anterior.
- A saída anterior traz o nome do schema como: APEX_240100
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 8080.
exec dbms_xdb.sethttpport('8080');
select dbms_xdb.gethttpport from dual;
Vamos verificar novamente após realizarmos a alteração:
GETHTTPPORT ----------- 8080
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:
- –log-folder
- –admin-user
- –db-hostname
- –db-port
- –db-servicename
- –feature-db-api true
- –feature-rest-enabled-sql true
- –feature-sdw true
- –gateway-mode proxied
- –gateway-user
- –proxy-user
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
- Lembrando de levar em consideração toda e qualquer entrada já existente para o usuário oracle
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:
- SQL Developer versão Web.
- Oracle APEX.
- Gerenciador de autenticação do ORDS.
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:
- WORKSPACE: INTERNAL
- Username: ADMIN
- Password: Senha configurada durante a execução do script @apxchpwd.sql.
Ao logarmos pela primeira vez, nos é apresentada a tela de criação de WORKSPACE:
- Não é obrigatória a criação de um novo workspace ao fazer o primeiro login, sendo possível criá-los posteriormente.
- Até a próxima.
Oracle APEX Installation
— Autor: Leonardo Lopes 19/11/2024 18H:38