### Cause: java.sql.SQLRecoverableException: 无法从套接字读取更多的数据

一、背景

        软件程序调用数据库服务出现如题错误:Cause: java.sql.SQLRecoverableException: 无法从套接字读取更多的数据。

        软件版本:Oracle 11g

二、解决

        用DBA用户登录数据库,进行如下配置:

--修改数据库配置
alter system set "_optim_peek_user_binds"=FALSE
alter system set optimizer_features_enable='10.2.0.4';
--1. 设置rman从SGA取内存
alter system set dbwr_io_slaves=2 scope=spfile;
alter system set backup_tape_io_slaves=true scope=spfile;

--2. 调整SGA大小
alter system set sga_target=1200m;
--上面面语句如果执行出错,暂不理会,等下面语句全部执行完后,重新启动 oracle service,再次执行这条语句。
alter system set sga_max_size=1200m scope=spfile;

--3. 设置使用内存最大大小
alter system set large_pool_size=80m;

--4. 重启oracle service。
shutdown immediate
startup

--再次执行步骤 2 报错的那句指令

--5. 查看sga,pga,pool的大小。
show parameter pool;

三、总结

        重启服务后程序访问JDBC正常,至此“套接字无法获取更多数据”问题解决

你可能感兴趣的:(Oracle,java,开发语言,oracle)