我是靠谱客的博主 漂亮水壶,最近开发中收集的这篇文章主要介绍报错解决:java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

应用报错:

          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



 

1. 查看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


2. 修改processes和sessions值

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

  系统已更改。

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

  系统已更改。

3. 修改processes和sessions值必须重启oracle服务器才能生效

  ORACLE的连接数(sessions)与其参数文件中的进程数(process)有关,它们的关系如下:

  sessions=(1.1*process+5)


 4.重启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
 

修改生效。

最后

以上就是漂亮水壶为你收集整理的报错解决:java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call的全部内容,希望文章能够帮你解决报错解决:java.sql.SQLRecoverableException:IO 错误:Got minus one from a read call所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部