Paulo,
Eu estava consultando o manual de instalação do APEX 3.2.1 quando um ponto me chamou a atenção: o manual só fazia menção ao Oracle 11g ou XE (nada de 10g) e então eu fui pesquisar na internet.
Me deparei com alguns foruns que informavam que o EPG (enbedded PL/SQL gateway) só vale a partir do 11g ou do Oracle XE 10g.
A princípio, esta solução não funcionava com o Oracle 10g. Engraçado, não? Existir para o XE 10g e não para o Oracle 10g.
Continuei pesquisando sobre este tema, quando me deparei com o link abaixo:
http://cglendenningoracle.blogspot.com/ ... ation.html (Oracle Apex on 10g using the PL/SQL Gateway? Yes!)
Nele, Craig Glendenning (o autor) explica passo a passo como instalar o Apex 3.2.1 em um banco Oracle 10g. Mas ele alerta que esta configuração - mesmo funcionando - não é homologada pela Oracle. Então, só a utilize para ambientes de teste ou estudo, ok?
Refiz os passos dele no meu ambiente virtual, e conseguí me logar normalmente nos links do apex (".../apex/apex", ".../apex/apex_admin").
Não seguí todos os passos da nota (pulei alguns) e então estou passando um resumo do que fiz.
Seria interessante você consultar o link para saber todos os procedimentos que ele sugeriu:
Selecionar tudo
1) Mover o apex_3.2.zip para uma subpasta do ORACLE_HOME ($OH) do 10g (no meu caso: C:/oracle/product/10.2.0).
Não seria um passo obrigatorio, mas seria legal manter no Oracle Home os scripts originais do APEX, caso sejam necessários no futuro;
2) Descomprimir o arquivo zipado apex_3.2.zip (unzip apex_3.2.zip)
Descompacte na própria pasta. Se for criado abaixo de "$OH/apex" uma pasta "apex" ($OH/apex/apex), mova o conteudo para o diretório acima, mantendo somente a pasta $OH/apex
3) Pelo MS-DOS, conecte-se via sql*plus como sysdba e execute scripts de instalação
cd C:/oracle/product/10.2.0/apex
obs: informe aquí o diretório do $OH/apex do seu ambiente)
sqlplus "/ as sysdba
SQL> @apexins sysaux sysaux temp /i/
SQL> @apxchpwd <informe_aqui_a_senha_do_admin>
SQL> @apex_epg_config C:/oracle/product/10.2.0/
Obs: informe aqui o diretório logo acima da pasta "apex".
No meu caso, seria o próprio $OH
4) Se algum dos scripts acima se desconectar automaticamente, entre novamente como SYSDBA. Continue executando os comandos abaixo:
cd C:/oracle/product/10.2.0/apex
obs: informe aquí o diretório do $OH/apex do seu ambiente
sqlplus "/ as sysdba
SQL> @apxldimg.sql C:/oracle/product/10.2.0/
obs: informe aqui o diretório logo acima da pasta "apex".
No meu caso, seria o próprio $OH
SQL> @apxxepwd.sql admin
SQL> EXEC DBMS_XDB.SETHTTPPORT(0);
SQL> ALTER USER ANONYMOUS ACCOUNT UNLOCK;
SQL> ALTER USER APEX_PUBLIC_USER ACCOUNT UNLOCK;
SQL> ALTER USER APEX_030200 ACCOUNT UNLOCK;
SQL> ALTER USER FLOWS_FILES ACCOUNT UNLOCK;
SQL> EXEC DBMS_XDB.SETHTTPPORT(8080);
5) Execute a querie abaixo para ver a configuração DAD:
SQL> select * from dba_epg_dad_authorization;
6) Se não aparecer nada (foi o meu caso) executar o comando abaixo:
SQL>begin
dbms_epg.authorize_dad
( dad_name => 'APEX', user => 'ANONYMOUS');
end;
/
5) Cheque novamente a configuração DAD:
SQL> select * from dba_epg_dad_authorization;
DAD_NAME USERNAME
-------- --------
APEX ANONYMOUS
6) A partir daqui, já é possível você fazer teste de acesso ao APEX
7) Com o DAD configurado, se houver necessidade de DEBUG, o mesmo pode ser ativado com o comando abaixo:
SQL> execute dbms_epg.set_global_attribute('log-level', 7);
obs: Os traces serão gerados no diretório de UDUMP do banco.
Veja se consegue repetir este roteiro e fazer agora o APEX funcionar.
Abraços,
Sergio Coutinho