Ir para o conteúdo

 Voltar a OpenACS: Des...
Tela cheia

Erro do nsoracle?

10 de Agosto de 2012, 9:01 , por Desconhecido - | 1 Pessoa seguindo este artigo.
Visualizado 18 vezes

Pessoal, estou instalando o openACS em um servidor de desenvolvimento, mas estou com um problema com a instalação do nsoracle.

O servidor web que estamos utilizando é:

  • openSUSE 11.2 (32 bits)
  • AOLserver 4.5.1
  • nsoracle 2.7
  • TCL 8.5.12
  • Oracle Client 11.2.0.3.0 (32 bits)

O servidor de bando de dados é:

  •  SuSE Linux Enterprise Server 11 SP2 (64 bits)
  • Oracle 11.2.0.3.0 (64 bits)

Eu fiz a instalação de uma nova TCL conforme instruções no site do openACS, compilando com --enable-threads.

Também fiz a instalação do AOLserver 4.5.1 conforme as instruções disponíveis no site do openACS, incluindo os módulos nssha1, nsoracle, nscache, tdom, tcllib, e xotcl.

A compilação do AOLserver e dos módulos ocorreu sem maiores problemas, exceto por um ou outro ajuste que tive que fazer nos arquivos fonte.

A única diferença importante da instalação que eu fiz do descrito na documentação no site do openACS é que eu utilizei os arquivos diponíveis em http://sourceforge.net/projects/aolserver/files/ ao invés de baixar os fontes via GitHub.

A instalação foi bem sucedida e antes de partir para a instalação do openACS de fato, eu resolvi testar a funcionalidade do AOLserver e a conectividade com o banco de dados:

1) Teste da instalação do AOLserver 4.5.1:

http://desenv.saudenaweb.com.br:84/

 

2) Teste da conexão do AOLserver com o oracle (apenas um select sysdate from dual):

http://desenv.saudenaweb.com.br:84/db.adp

 

Até aí, tudo bem. Comecei a ter problemas quando fui testar detalhadamente a conexão do AOLserver com o Oracle através dos scripts de teste fornecidos na distribuição do código fonte no nsoracle. São fornecidos 4 testes: 3 executaram sem erros e 1 falhou (o teste de lobs):

4) table-test.tcl: rodou OK

http://desenv.saudenaweb.com.br:84/nsoracle/table-test.tcl

 

5) bind-test.tcl: rodou OK

http://desenv.saudenaweb.com.br:84/nsoracle/bind-test.tcl

 

6) error-test.tcl: rodou OK

http://desenv.saudenaweb.com.br:84/nsoracle/error-test.tcl

 

7) clob-test.tcl: deu ERRO!

http://desenv.saudenaweb.com.br:84/nsoracle/clob-test.tcl

 

O log do AOLserver trazia o seguinte:

AOLserver log show this:
[05/Aug/2012:10:22:48][32340.3025718128][-default:0-] Error: Tcl exception:
while executing
"ns_ora clob_get_file $db "select chunks from markd_lob_test where lob_id=100" ${empty_file_name}-back"
(file "/srv/www/aolserver/server1/www/nsoracle/clob-test.tcl" line 454)
invoked from within
"source $file"
invoked from within "ns_sourceproc cns53 {}" 

O log diz algo a respeito de um erro na execução do proc "ns_ora clob_get_file". Bem, a documentação do nsoracle diz claramente que essa funcionalidade existe em sua API: http://desenv.saudenaweb.com.br:84/nsoracle/doc/

Por causa deste erro eu não continuei com a instalação do openACS.

Alguma idéia de como resolver esse problema? Ou posso apenas ignorar esse erro e continuar com a instalação do openACS?

Obrigado! 

Autor: Abrantes Filho


77 comentários

  • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
    10 de Agosto de 2012, 13:09

     

    Olá Abrantes,

    Me parece que o seu problema não se trata de conexão ou algo do tipo. O error deve estar acontecendo na recuperação do arquivo binário. Você configurou o Oracle para carregar os tipos de dados pedidos pelo módulo?

    Coloque a mensagem de erro completa, pois essa só informa que o erro foi na chamada, mas não diz qual foi o erro.

    Contudo, vale ressaltar que não é preciso utilizar armazenamento binário no AOLServer. Você pode configurar o content-repository para armazenar os binários no sistema de arquivos.

    Teste aí e volte se tiver mais dúvidas. 

    • 1ed7d16b53c321ed277446f226571548?only path=false&size=50&d=404Abrantes Filho(usuário não autenticado)
      10 de Agosto de 2012, 14:39

       

      Olá Eduardo, obrigado pela resposta.

       Eu procurei no log alguma outra descrição do erro, mas não tem mais nada. A única coisa que fica regitrada no log quando eu tento rodar a página de teste clob-test.tcl é a mensagem que postei acima. Até mesmo se eu ajustar o parâmetro do AOLserver para debug = true, a única mensagem de erro que retorna no log é aquela mesma.

      Quando a configuração do Oracle, está correta sim.

      Bem, posso testar configurando o armazenamento binário em disco. Talvez seja a solução mesmo.

      Obrigado. 

  • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
    10 de Agosto de 2012, 13:11

     

    Só mais um detalhe: nas últimas versões do OpenACS o suporte ao Oracle vem caindo. O núcleo ainda funciona, pois há uma universidade na Espanha que banca o desenvolvimento. Contudo, quase ninguém que desenvolve (eu incluso) testa os scripts para Oracle.

    Alguma razão para não utilizar PostgreSQL? 

    • 1ed7d16b53c321ed277446f226571548?only path=false&size=50&d=404Abrantes Filho(usuário não autenticado)
      10 de Agosto de 2012, 14:42

       

      Bem, estamos utilizando o oracle pois já é o banco de produção utilizado aqui. Apesar de não ser um banco muito grande, tem hoje cerca de 70 GB de dados de usuários.

      No final, achamos que estabelecer uma rotina para fazer a replicação diária dos dados do Oracle para o PostgreSQL seria mais complicado do que usar o oracle mesmo. Só por isso mesmo.

      • 12cf2da8b1a1753868c7e20816b7dab5?only path=false&size=50&d=404Eduardo Santos(usuário não autenticado)
        10 de Agosto de 2012, 14:55

         

        Olá Abrantes,

        Nas vezes que tive que trabalhar com o Oracle, preferi utilizá-lo como interface de consulta para o OpenACS e armazenar os dados do OpenACS no PostgreSQL mesmo. Vale lembrar que dentro de uma instância do OpenACS é possível acessar quantas bases Oracle e PostgreSQL forem necessárias: basta definir novos pools de conexões. 

        Enfim, se quiser descobrir realmente qual é o problema do módulo, você vai precisar recompilar o AOLServer habilitando símbolos de debug:

        ./configure --enable-threads --enable-symbols 

        Contudo, se habilitar essa opção seu log vai ficar imenso. Use com sabedoria. 

Oportunidade de Trabalho com OpenACS

9 de Dezembro de 2011, 16:07, por Desconhecido

Domí­nio do ambiente Linux em modo Shell;



Fundamentos de desenvolvimento e criação de comunidades virtuais com o framework OpenACS

28 de Outubro de 2010, 16:51, por Desconhecido

Durante o Latinoware, que será realizado em Foz do Iguaçu entre os dias 10 e 12 de Novembro, será realizada uma oficina sobre desenvolvimento em OpenACS. A oficina é parte da iniciativa de compartilhamento do Projeto Software Público Internacional, e conta com apoio da organização.



Oficina sobre OpenACS em Belo Horizonte

19 de Novembro de 2008, 9:43, por Desconhecido

No dia 27 de novembro de 2008, será realizado durante o Encontro Mineiro de Software Livre, uma oficina para formação de desenvolvedores OpenACS. A oficina tem por objetivo introduzir a ferramenta na cidade e atender a uma demanda crescente por especialistas na área.



Treinamento em OpenACS em Brasília tem sua aula inaugural

10 de Novembro de 2008, 9:43, por Desconhecido

Fruto de uma paceria entre a Lupa Treinamento e a Secretaria de Logística e Tecnologia da Informação do Ministério do Planejamento, começou no último Sábado o terceiro treinamento em OpenACS realizado em Brasília.



Instalacao do OACS 5.3 em Debian e Ubuntu

29 de Janeiro de 2008, 16:52, por Desconhecido

Acaba http://cognovis.de/developer/ou de sair do forno...