Atualizar Apex 4.x para 20.x

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
chevron_left
chevron_right