當我嘗試連線到 Amazon RDS for Oracle 執行個體時,如何排查「javasqlSQLException:沒有其他資料可從通訊端讀取」錯誤?

上次更新日期:2021 年 11 月 12 日

當我嘗試連線到 Amazon Relational Database Service (Amazon RDS) for Oracle DB 執行個體時,出現錯誤「javasqlSQLException:沒有其他資料可從通訊端讀取」。

解決方案

由於 Oracle 伺服器和用戶端 JDBC 驅動程式之間發生連線問題,您會收到「javasqlSQLException:沒有其他資料可從通訊端讀取」錯誤。這些連線失敗的最常見原因和疑難排解選項如下:

  • 由於網路中斷,連線突然終止:若要排查此問題,請檢查執行個體的 alert.log 檔案,以了解是否有在連線從應用程式結束逾時期間發佈的任何 TNS 逾時錯誤。如需詳細資訊,請參閱 TNS 逾時錯誤的 Oracle 文件。如需存取 RDS 執行個體提醒日誌的詳細資訊,請參閱 Oracle 資料庫日誌檔案
  • 由於伺服器端的 Oracle 錯誤,連線終止:檢查 alert.log 檔案,以了解是否有 ORA-0600 或 ORA-07445 錯誤。收集特定 Oracle 錯誤的追蹤傾印。檢查這些錯誤是否有 Oracle 支援提供的已知修正。
  • 用戶端與伺服器的連線未在作用中:若要排查此問題,請將參數 SQLNET.EXPIRE_TIME 設定為指定的間隔 (以分鐘為單位),以確認用戶端與伺服器的連線在使用中的探查。如需詳細資訊,請參閱 SQLNET.EXPIRE_TIME 的 Oracle 文件。
  • 當 JDBC 用戶端嘗試使用與 Oracle 伺服器的現有連線時,RDS for Oracle 執行個體無法使用或重新啟動:若要排查此問題,請擷取 RDS 執行個體的事件,並檢查執行個體是否已重新啟動或在從 JDBC 用戶端建立連線時停止。
  • 用於連線至 RDS for Oracle 執行個體的 JDBC 驅動程式不相容:若要排查此問題,請確認 JDBC 驅動程式的版本與資料庫執行個體的版本相容。如需相容 JDBC 驅動程式的清單,請參閱 Oracle 文件以取得與 ODI 搭配使用的 Java 機器以及 JDBC 驅動程式的相容性矩陣。如果 JDBC 驅動程式不相容,請以原始程式碼下載最新的 JAR 檔案。然後,在編譯建立資料庫連線的類時,將此檔案包含在類路徑中。如需詳細資訊,請參閱下載 JDBC 驅動程式
  • 用戶端上的記憶體元件造成逾時:若要排查此問題,請檢查 Oracle Data Integrator 在用戶端是否有導致不需要逾時的記憶體元件。務必您在用戶端為這些元件設定正確的值。如需詳細資訊,請參閱如何在 ODI 中定義 Java 選項 (例如記憶體堆積的限制、非 Java 程式庫的位置等) 的 Oracle 文件。

此文章是否有幫助?


您是否需要帳單或技術支援?