1. 程式人生 > 其它 >Got minus one from a read call

Got minus one from a read call

技術標籤:oracle_VIP學習oracle連線報錯解決

應用報錯: java.sql.SQLRecoverableException:IO 錯誤:Got minus one from a read
call

據開發人員描述:起多個服務的時候報這個錯,無論最後的服務是啥,提供的報錯日誌都是java.sql.SQLRecoverableException:IO 錯誤:Got minus one from a read call

原因

當應用連線資料庫時,是通過連線池的機制進行連線的,資料庫引數:max-session決定連線池的大小,而應用同樣也有一個引數,這個引數表示它連線資料庫連線池所佔用的最少資源。

例如:總共有10個應用需要連線資料庫,如果每個應用連線資料庫的最小連線數為10,那麼10個應用總共會
有100個連線,這樣就要求資料庫連線池的max-session必須大於100,否則就會報“ Got minus one from a read call”的錯誤。

解決方法

修改max-session
檢視processes和sessions引數

SQL> show parameter processes
NAME                                  TYPE         VALUE
db_writer_processes                  integer
1 gcs_server_processes integer 0 job_queue_processes integer 10 log_archive_max_processes integer 2 processes integer 50 SQL> show parameter sessions NAME TYPE VALUE license_max_sessions integer
0 license_sessions_warning integer 0 logmnr_max_persistent_sessions integer 1 sessions integer 60 shared_server_sessions integer

修改processes和sessions值

SQL> alter system set processes=300 scope=spfile;

系統已更改。

SQL> alter system set sessions=335 scope=spfile;

系統已更改。
修改processes和sessions值必須重啟oracle伺服器才能生效
ORACLE的連線數(sessions)與其引數檔案中的程序數(process)有關,它們的關係如下:

sessions=(1.1*process+5)

重啟Oracle

shutdown immediate;
startup;

5.再檢視processes和sessions引數

SQL> show parameter processes
NAME                                  TYPE         VALUE
db_writer_processes                  integer     1
gcs_server_processes                 integer     0
job_queue_processes                  integer     10
log_archive_max_processes            integer    300
processes                            integer     50

SQL> show parameter sessions
NAME                                  TYPE         VALUE
license_max_sessions                 integer     0
license_sessions_warning             integer     0
logmnr_max_persistent_sessions       integer     1
sessions                             integer    335
shared_server_sessions               integer

修改生效。

轉自:https://www.jianshu.com/p/d27df8f96b04