Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micael_Programador

Problemas no ORA12

Recommended Posts

Olá pessoal!!

Eu estou passando por um problema com o banco de dados ORACLE, estava sendo utilizado o ORA11 e atualizei para a última versão passando de ORA11 para ORA12, porém um SQL que estava sendo utilizado na aplicação simplesmente parou de funcionar, lembrando que este SQL está na aplicação por mais de um ano e só passou a dar problema após a atualização para a última versão do ORACLE, o problema que está ocorrendo é que ele não retorna nenhum valor na consulta e deveria retornar, este mesmo SQL funciona em base ORA11, até porque estava sendo utilizado a mesma base de dados em ORA11 e funcionava perfeitamente após a atualização para o ORA12 passou a não retornar nada, não sei porque isto acontece e gostaria de entender porque esta consulta parou de funcionar com a atualização e se alguém teve algum problema parecido, segue a baixo o SQL que estou utilizando:

Select
  RELAT.CODIGO,
  RELAT.DESCRICAO
FROM
  RELAT,
  PROGR
WHERE
  RELAT.RELATORIO = ‘01’ And
  RELAT.PROGRAMA = PROGR.PROGRAMA And
  ( ( RELAT.TABAUX Is Null ) Or
     Exists (
         Select
            TABA.TABAUX
         From
             TABA
         Where
              RELAT.TABA = TABA.TABA
       )
)  

Compartilhar este post


Link para o post
Compartilhar em outros sites

1) Cheque se na migração os tipos e/ou tamanho dos campos modou

 

2) Rode a query

Select
  RELAT.CODIGO,
  RELAT.DESCRICAO
FROM
  RELAT,
  PROGR
WHERE
  RELAT.RELATORIO = ‘01’ And
  RELAT.PROGRAMA = PROGR.PROGRAMA

ela retorna algo ?

 

3) Retornando estes valores (RELAT.TABA) são localizados em

Select
            TABA.TABAUX
         From
             TABA
         Where
              TABA.TABA = ??

?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esta tudo correto, campo, tamanhos, ficou tudo igual quando era ORA11, esta consulta não funciona somente em ORA12, fiz um teste e funcionou, usei isto

alter session set optimizer_features_enable="11.1.0.6";
corrigiu para a aplicação, porém dessa forma ele esta operando com ORA12 e optimizador do ORA11, e preciso q rode com o optimizador do ORA12, mas não consigo entender porque a consulta não funciona da forma correta em ORA12.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aqui onde trabalho tivemos problemas de otimização , não de erros deste tipo.

 

Rodou as queries em separado ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faria sentido o alter se o problema fosse a performance pois o plano poderia ter mudado , mas não trazer não faz sentido se os dados são os mesmos e a query é simples.

 

Mas que é estranho, é.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.