Instalando Apex - Erro

Oracle Application Express - web application development tool (antigamente conhecido como Oracle HTML-DB)
Responder
crispix.paulo
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 05 Ago 2011 12:18 pm
Localização: São Paulo - SP

Sérgio.

Corrigi o erro e nada.

Executei tudo novamente, e nada.

Alguma outra sugestão?

Obrigado.

Abraços,
Crispim
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Paulo,

Tenho um ambiente virtual com Windows XP e Oracle 10g instalado.

Vou instalar nele o apex 3.2 e ver se ele funciona sem problemas.

Com isso, vou poder testar as sugestões que havia repassado para você anteriormente. Talvez possa lhe repassar depois alguma sugestão.

Espero te passar um feedback sobre isso durante a tarde desta quinta.

Abraços,

Sergio
crispix.paulo
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 05 Ago 2011 12:18 pm
Localização: São Paulo - SP

Sergio, muito obrigado.

Abraços
Paulo
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

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
crispix.paulo
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 05 Ago 2011 12:18 pm
Localização: São Paulo - SP

Sergio

realmente muito estranho no XE funcionar e no 10g não.. Mas enfim.

Agora está pedindo a senha para o XDB

Está assim: Aparece a tela

XDB
Nome do usuário:
Senha:


QUal usuário, qual senha?

Mas desde já agradeço toda sua ajuda... já tive uma grande evolução.

Abraços,
Paulo Crispim
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Engraçado,

Para mim também pediu senha nas primeiras vezes.

Tente SYSTEM / <password_usuario_system> ....

Se não der certo, tente ADMIN / <password_usuario_admin_apex>

Depois disso, aparece a tela do apex, tanto do ambiente de desenvolvimento (/apex/apex) como do administrador (/apex/apex_admin).

Não sei se ele irá ficar pedindo no futuro a senha do XDB. Eu tentei executar um script que é mostrado no link que te passei, mas ele resultava em erro de XML. Não sei se o script está relacionado com o XDB ou não.

Me avise se notar que ele vai ficar pedindo toda a vez a senha do XDB, ok?

Abraços,

Sergio
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Paulo,

Consultei um forum do OTN (Oracle) e me deparei com alguns desenvolvedores reclamando do mesmo problema que eu e você comentamos.

Um desenvolvedor disse que para resolver o problema da solicitação contínua da senha o XDB, basta executar como system o comando abaixo:

Selecionar tudo

SQL> alter user xdb unlock account;
Se a senha do XDB for continuamente solicitada, aplique este comando no banco de dados.

Me avise depois do resultado dos seus testes, ok?

Abraços,

Sergio Coutinho
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

Paulo,

Desculpe postar a solução em pedaços. Parece que a senha do XDB é uma "indicação" que o Apex 3.2 "não é suportado" no 10g.

Mas um desenvolvedor mencionou que executando o script abaixo - mais o desbloqueio do usuário XDB - resolveria o problema da solicitação adicional de credenciais:
....If you wish to enable anonymous access to the ML DB repository, the following code creates the "<allow-repository-anonymous-access>" element if it is missing, or updates it if it is already present in the xdbconfig.xml file.

Selecionar tudo

CONN sys/password AS SYSDBA

SET SERVEROUTPUT ON
DECLARE
l_configxml XMLTYPE;
l_value VARCHAR2(5) := 'true'; -- (true/false)
BEGIN
l_configxml := DBMS_XDB.cfg_get();

IF l_configxml.existsNode('/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access') = 0 THEN
-- Add missing element.
SELECT insertChildXML
(
l_configxml,
'/xdbconfig/sysconfig/protocolconfig/httpconfig',
'allow-repository-anonymous-access',
XMLType('<allow-repository-anonymous-access xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd">' ||
l_value ||
'</allow-repository-anonymous-access>'),
'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"'
)
INTO l_configxml
FROM dual;

DBMS_OUTPUT.put_line('Element inserted.');
ELSE
-- Update existing element.
SELECT updateXML
(
DBMS_XDB.cfg_get(),
'/xdbconfig/sysconfig/protocolconfig/httpconfig/allow-repository-anonymous-access/text()',
l_value,
'xmlns="http://xmlns.oracle.com/xdb/xdbconfig.xsd"'
)
INTO l_configxml
FROM dual;

DBMS_OUTPUT.put_line('Element updated.');
END IF;

DBMS_XDB.cfg_update(l_configxml);
DBMS_XDB.cfg_refresh;
END;
Espero que feito tudo isso, finalmente o seu APEX funcione no 10g.

Abraços,

Sergio Coutinho
crispix.paulo
Rank: Programador Júnior
Rank: Programador Júnior
Mensagens: 17
Registrado em: Sex, 05 Ago 2011 12:18 pm
Localização: São Paulo - SP

Sergio,

Hoje finalmente consegui instalar e acessar o APEX.

Obrigado pelas dicas.

Abraços
Paulo Crispim
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 11 visitantes