我们使用的是 Oracle 数据库 10g 企业版 10.2.0.4.0 版,我们在查询中出现错误,导致我们出现错误
Error: No more data to read from socket
SQLState: null
ErrorCode: 17410
Run Code Online (Sandbox Code Playgroud)
查询类似于以下内容
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
Run Code Online (Sandbox Code Playgroud)
如果我尝试删除最后的 where 语句,则查询运行良好。此外,如果我尝试将 rownum 过滤器“减少”到较低级别的记录,则查询运行良好:
where rownum<10
Run Code Online (Sandbox Code Playgroud)
在互联网上搜索我发现它可能是由参数“cursor_sharing”到“similar”引起的,这在某些版本的oracle上似乎有问题。我试图将其设置为“精确”,但不幸的是我遇到了同样的错误。
我想知道在 oracle10g 中,select 语句的检索数据是否有字节限制,但我什么也没找到。我发现 oracle8i 有限制,但 oracle10g 没有。
我们在不同的客户端(dbvisualizer、squirrel)和 oracle 控制台上执行查询时遇到了同样的问题。
小智 5
没有更多来自套接字的数据意味着影子进程崩溃了,例如 ORA-600 或 ORA-7445。在 user_dump_dest 目录中查找跟踪文件和/或警报日志中的条目。这很可能是一个错误
看到这个:https : //blogs.oracle.com/db/entry/ora-600_troubleshooting