Resposta
É mais provável que seja um firewall entre o SQL Developer e o banco de dados que quebra as coisas. Você pode resolver isso no SQL Developer usando o plug-in Keepalive do SQL Developer .
Você também pode corrigir isso no servidor de banco de dados usando as respostas de Thomas e David Mann .
Resposta original
Não tenho a resposta para isso, mas estou enfrentando o mesmo problema.
O firewall entre meu SQL Developer e o banco de dados fecha automaticamente as sessões "inativas". Uma consulta de longa duração é de acordo com o firewall uma sessão inativa, então ele a fecha. Ainda não descobri como fazer o SQL Developer enviar pacotes por uma conexão com uma consulta de longa duração, para que o firewall não feche a conexão. E não sei se isso é possível.
Portanto, não acho que seja um problema do SQL Developer, mas um problema de firewall.
--ATUALIZAR
Existe uma extensão para SQL Developer que permite manter as conexões ativas:http://sites. google.com/site/keepaliveext/
Ainda não está totalmente concluído (por exemplo, a notificação que você recebe indica o mesmo tempo limite, independentemente do tempo limite que você especificou), mas funciona. Ainda não testei com o último pré-lançamento do SQL Developer, mas funcionou com o SQL Developer 2.2.x
--ATUALIZAR
Para SQL Developer 4+, você pode usar:http://scristalli.github.io /SQL-Developer-4-keepalive/