We are using Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 and we have an error on a query that gives us the error
Error: No more data to read from socket
SQLState: null
ErrorCode: 17410
The query is similar to the following
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
If I try to remove the final where statement the query runs fine.
Also if I try to "reduce" the rownum filter to a lower level of records the query runs fine:
where rownum<10
Searching on internet I have found that it could be caused by the parameter "cursor_sharing" to "similar" that seems buggy on some version of oracle. I tried to set it to "exact" but unfortunately I have the same error.
I was wondering if the retrieved data of a select statement may have a limit in bytes in oracle10g but I haven't found anything. I have found a limit on oracle8i but nothing to oracle10g.
We have the same problem executing the query on different client (dbvisualizer, squirrel) and on oracle console.
Best Answer
No more data from socket means that the shadow process crashed, with an ORA-600 or ORA-7445, for example. Look for a trace file in the user_dump_dest directory and/or an entry in the alert log. This is likely a bug
See this : https://blogs.oracle.com/db/entry/ora-600_troubleshooting