Oracle-10g

oracle:沒有更多數據可以從套接字讀取

  • October 29, 2015

我們正在使用 Oracle 數據庫 10g 企業版 10.2.0.4.0 版,我們在查詢中遇到錯誤,導致我們出現錯誤

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

查詢類似於以下內容

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

如果我嘗試刪除最後的 where 語句,查詢執行良好。此外,如果我嘗試將 rownum 過濾器“減少”到較低級別的記錄,則查詢執行良好:

where rownum<10

在網際網路上搜尋我發現它可能是由參數“cursor_sharing”到“similar”引起的,這在某些版本的 oracle 上似乎有問題。我試圖將其設置為“精確”,但不幸的是我遇到了同樣的錯誤。

我想知道 select 語句的檢索數據是否可能在 oracle10g 中有字節限制,但我沒有找到任何東西。我發現 oracle8i 有限制,但 oracle10g 沒有。

我們在不同的客戶端(dbvisualizer、squirrel)和 oracle 控制台上執行查詢時遇到了同樣的問題。

沒有來自套接字的更多數據意味著影子程序崩潰,例如 ORA-600 或 ORA-7445。在 user_dump_dest 目錄中查找跟踪文件和/或在警報日誌中查找條目。這可能是一個錯誤

看到這個:https ://blogs.oracle.com/db/entry/ora-600_troubleshooting

對於未來的Google人,

我的案例是使用休眠的 glassfish 2 伺服器託管應用程序。

該錯誤歸因於 Oracle 數據庫伺服器出現故障並且 glassfish 無法恢復。

重啟伺服器即可解決問題

引用自:https://dba.stackexchange.com/questions/7691