自学内容网 自学内容网

ORA-12537: TNS:连接关闭/Io 异常: Got minus one from a read call

在另外一个数据库建立dblink的时候,发现执行命令报错:
在这里插入图片描述
被连接的数据库我也上去过,用工具尝试登陆也报错:

IO Error: Got minus one from a read call, connect lapse 1 ms., 
Authentication lapse 0 ms. Got minus one from a read call, connect lapse 1 ms., 
Authentication lapse 0 ms. Got minus one from a read call, connect lapse 1 ms., 
Authentication lapse 0 ms. Got minus one from a read call, connect lapse 1 ms. 
Got minus one from a read call, connect lapse 1 ms. 
Got minus one from a read call 
Got minus one from a read call

后来去网上找了下,基本提供的方法有这么几种:

1:数据库连接满了,扩大数据库连接池

但是想了一下,别的地方访问也没出问题,应该不是连接数的事。登上服务器查看下,果然连接数没有问题。

1、查看当前的数据库连接数
 select count(*) from v$process ;    --当前的数据库连接数
2、数据库允许的最大连接数
 select value from v$parameter where name ='processes';  --数据库允许的最大连接数
3、修改数据库最大连接数
 alter system set processes = 300 scope = spfile;  --修改最大连接数:
4、关闭/重启数据库
 shutdown immediate; --关闭数据库
 startup; --重启数据库

在这里插入图片描述
2:所登录的机子IP不在sqlnet.ora内,加入后重启listerner即可

查看sqlnet.ora文件,发现配置了ip白名单。

QLNET.AUTHENTICATION_SERVICES= (NTS)

NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

TCP.VALIDNODE_CHECKING=YES

TCP.INVITED_NODES=(127.0.0.1)

将ip加入白名单中,重启监听,发现可以正常访问了。

重启监听
lsnrctl stop
lsnrctl start

3:数据库负载均衡时,指定了(SERVER=DEDICATED),去除这个即可


原文地址:https://blog.csdn.net/qq_44021627/article/details/140262095

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!