A equipe de desenvolvimento do Oracle Database desencoraja fortemente usando uma única conexão em vários threads. Isso quase sempre causa problemas. Como regra geral, não consideraremos nenhum relatório de problema que faça isso.
Uma conexão pode ter várias instruções e/ou ResultSets abertos ao mesmo tempo, mas apenas um pode ser executado por vez. As conexões são estritamente de encadeamento único e de bloqueio. Tentamos impedir que vários threads acessem uma conexão simultaneamente, mas existem alguns casos estranhos em que isso é possível. Estes são todos, mas garantidos para causar problemas. (Não é prático corrigir ou evitar esses casos principalmente por motivos de desempenho. Apenas não compartilhe uma única conexão em vários encadeamentos.)