Uma coisa que você pode fazer é aplicar a dica NO_QUERY_TRANSFORMATION introduzida no Oracle 10g.
Se isso produzir o resultado desejado, você sabe que está enfrentando um bug do Oracle, pois nenhuma dica deve alterar o resultado real de uma consulta.
Ao mesmo tempo, você pode ter resolvido seu problema, exceto que talvez seu plano de execução não seja satisfatório.
O bug que você está enfrentando (não sei se é um bug conhecido) é que o otimizador do Oracle pode não interpretar corretamente a intenção da consulta original ao transformar a consulta para um melhor plano de execução (visualizações de mesclagem etc.). Ao usar a dica, você instrui o otimizador a não fazer isso.
O fenômeno é visto com mais frequência com consultas complexas envolvendo visualizações de desempenho em linha.
Atualmente não tenho nenhum exemplo de código para reproduzir esse problema, mas estou trabalhando nisso.
UPDATE:Parece que isso é de fato para o que a dica se destina - eu encontrei isso:
documentação .