Odpowiedź
Jest to najprawdopodobniej zapora ogniowa między SQL Developerem a bazą danych, która psuje różne rzeczy. Możesz rozwiązać ten problem z SQL Developer za pomocą wtyczki SQL Developer Keepalive .
Możesz również naprawić ten problem z serwera bazy danych, korzystając z odpowiedzi Thomas i David Mann .
Oryginalna odpowiedź
Nie mam na to odpowiedzi, ale mam ten sam problem.
Zapora sieciowa między moim SQL Developerem a bazą danych automatycznie zamyka „nieaktywne” sesje. Długo działające zapytanie jest według zapory nieaktywną sesją, więc zamyka je. Nie odkryłem jeszcze, jak sprawić, by SQL Developer wysyłał pakiety przez połączenie z długo działającym zapytaniem, aby zapora nie zamykała połączenia. I nie wiem, czy jest to w ogóle możliwe.
Więc nie sądzę, że jest to problem SQL Developer, ale problem z zaporą ogniową.
--AKTUALIZACJA
Istnieje rozszerzenie dla SQL Developer, które pozwala zachować aktywne połączenia:http://sites. google.com/site/keepaliveext/
Nie jest jeszcze całkowicie skończony (na przykład powiadomienie, które otrzymujesz, określa ten sam limit czasu, niezależnie od tego, jaki limit czasu określiłeś), ale to załatwia sprawę. Nie testowałem go jeszcze z najnowszą wersją przedpremierową SQL Developer, ale działał z SQL Developer 2.2.x
--AKTUALIZACJA
W przypadku SQL Developer 4+ możesz użyć:http://scristalli.github.io /SQL-Developer-4-keepalive/