Nesse post vou mostrar como é fácil realizar a atualização(ou instalação) do Apex para a versão mais nova, esse procedimento pode ser aplicado em qualquer versão e no meu lab estou rodando o banco 12.1.0.2.0 (sem PDB) com Apex 4.2.5.00.08 e vou atualizar para a versão 20.2.0.00.20 , um detalhe muito importante é que a partir da versão 20.1 você precisa usar o ORDS, não existe mais suporte ao EPG, então recomendo dar uma olhada nesse link https://docs.oracle.com/en/database/oracle/application-express/20.2/htmig/downloading-installing-ords.html#GUID-A39B8770-8FE9-41DA-AC2C-5E3723BF0C19 onde mostra como baixar e instalar o ORDS (se for um ambiente simples você pode rodar no modo Standalone).
Download
O Apex pode ser baixado no seguinte link https://www.oracle.com/tools/downloads/apex-v191-downloads.html, você tem a opção de baixar a versão somente em Inglês (apex_xx.x_en.zip) ou a versão multi idiomas (apex_20.2.zip), escolha a versão que você deseja rodar, baixe e coloque no servidor de banco de dados, ou faça um wget direto para no servidor, basta mandar fazer o download na sua máquina e copiar a url que ele gerar (com a parte AuthParam).
[oracle@db12c-single ~]$ wget https://download.oracle.com/otn/java/appexpress/apex_20.2.zip?AuthParam=XXXXXXX
Extraia o arquivo
Após o download, extraia o arquivo:
unzip apex_xx.x.zip
A seguinte estrutura de diretórios/arquivos vai estar disponível:
[oracle@db12c-single apex]$ ls apexins1.sql apexins.sql apxappcon.sql apxdvins_nocdb.sql apxpatch.sql apxrtins1.sql apxrtins.sql core dbcsconf.sql apexins2.sql apex_rest_config_cdb.sql apxchpwd.sql apxdvins.sql apxremov1.sql apxrtins2.sql apxsdoins.sql coreins2.sql dbcsins.sql apexins3.sql apex_rest_config_core.sql apxdevrm_cdb.sql apxdwngrd.sql apxremov2.sql apxrtins3.sql apxsilentins.sql coreins3.sql devins.sql apexins_cdb.sql apex_rest_config_nocdb.sql apxdevrm_nocdb.sql apxexit.sql apxremov_cdb.sql apxrtins_cdb.sql apxupgrd.sql coreins4.sql images apexins_cdb_upg.sql apex_rest_config.sql apxdevrm.sql apxpatch_cdb.sql apxremov_nocdb.sql apxrtins_cdb_upg.sql builder coreins5.sql load_trans.sql apexins_nocdb.sql appins.sql apxdvins_cdb.sql apxpatch_nocdb.sql apxremov.sql apxrtins_nocdb.sql catapx.sql coreins.sql utilities [oracle@db12c-single apex]$
Requisito
Você precisa criar uma tablespace(caso esteja instalando pela primeira vez) que vai ser utilizada para armazenar os objetos do Apex, rodar o script de instalação/update, criar(caso não existam) alguns usuários e subir o ORDS.
Criar a tablespace
SQL> create tablespace apx_tbs datafile '/u01/app/oracle/oradata/orcl12/apx_tbs01.dbf' size 200M autoextend on maxsize unlimited; Tablespace created. SQL>
Script de instalação/update
Conecte no banco com o usuário SYS e rode o seguinte comando estando dentro da pasta descompactada do Apex:
@apexins.sql APX_TBS APX_TBS TEMP /i/
Onde os dois primeiros parâmetros(APX_TBS) apontam em qual tablespace o Apex vai ser instalado, o terceiro(TEMP) qual a tablespace temporária que ele vai usar e o ultimo o caminho da imagens.
No meu lab, com 1 core e 1.6G de RAM, a instalação levou quase 10 minutos:
Thank you for installing Oracle Application Express 20.2.0.00.20 Oracle Application Express is installed in the APEX_200200 schema. The structure of the link to the Application Express administration services is as follows: http://host:port/ords/apex_admin The structure of the link to the Application Express development interface is as follows: http://host:port/ords timing for: Phase 3 (Switch) Elapsed: 00:00:55.97 timing for: Complete Installation Elapsed: 00:09:47.14 PL/SQL procedure successfully completed.
Se for uma atualização você já pode acessar a sua versão atualizada, caso seja uma instalação nova(Instalou o banco e nunca instalou ou atualizou o Apex, você precisa executar os próximos passos):
Crie os usuários do Apex
@apex_rest_config.sql
Altere a senha do usuário admin
@apxchpwd.sql
A senha precisa atender a complexidade minima:
* Password must contain at least one numeric character (0123456789). * Password must contain at least one punctuation character (!"#$%&()``*+,-/:;?_) . * Password must contain at least one upper-case alphabetic character.
Após isso você pode executar o seguinte comando para configurar o ORDS para o Apex:
java -jar ords.war install advanced
E após isso executar no modo standalone:
java -jar ords.war standalone