it-swarm.dev

wyrocznia: Nie ma więcej danych do odczytu z gniazda

Używamy bazy danych Oracle 10g Enterprise Edition wydanie 10.2.0.4.0 i mamy błąd w zapytaniu, które nas podaje

Error: No more data to read from socket
SQLState:  null
ErrorCode: 17410

Zapytanie jest podobne do następującego

select * from (
    select ... <many, MANY fields>
    from table   
    inner join
    left outer join
    left outer join
    inner join
    where string1='value1' and string2='value2'

) where rownum > 500 and rownum < 510

Jeśli spróbuję usunąć końcową instrukcję where, zapytanie działa poprawnie. Również jeśli spróbuję „zredukować” filtr rownum do niższego poziomu rekordów, zapytanie działa poprawnie:

where rownum<10

Przeszukując Internet, odkryłem, że może to być spowodowane parametrem „sharing_sharing” do „podobnego”, który wydaje się błędny w niektórych wersjach Oracle. Próbowałem ustawić go na „dokładny”, ale niestety mam ten sam błąd.

Zastanawiałem się, czy pobrane dane instrukcji select mogą mieć limit bajtów w Oracle10g, ale niczego nie znalazłem. Znalazłem ograniczenie dla Oracle8i, ale nic nie dotyczy Oracle10g.

Mamy ten sam problem z wykonaniem zapytania na innym kliencie (dbvisualizer, wiewiórka) i na konsoli Oracle.

5
egesuato

Brak danych z gniazda oznacza, że ​​proces cienia się zawiesił, na przykład w przypadku ORA-600 lub ORA-7445. Poszukaj pliku śledzenia w katalogu user_dump_dest i/lub pozycji w dzienniku alertów. To prawdopodobnie błąd

Zobacz: https://blogs.Oracle.com/db/entry/ora-600_trou Rozwiązywanie problemów

5
sensware

Dla przyszłych pracowników Google

Mój przypadek to serwer glassfish 2 obsługujący aplikacje wykorzystujące hibernację.

Błąd jest przypisywany awarii serwera Oracle DB i glassfish nie odzyskuje się.

Ponowne uruchomienie serwera rozwiązuje problem

0
alvaro g