Got minus one from a read call

出现这种问题基本上就以下几种原因:
1:数据库连接满了,扩大数据库连接池
2:所登录的机子IP不在sqlnet.ora内,加入后重启listerner即可
3:数据库负载均衡时,指定了(SERVER=DEDICATED),去除这个即可
4:网管在Oracle配置上限制了该台机子访问Oracle的权限,这个问题基本和2类似。

百度之后网上基本上只有这几个解决方案,但是都没有解决,加班花了1个晚上结果还是搞定了,下面我说下我自己怎么解决的。

  • 数据库连接

查询oracle的连接数

select count(*) from v$session;

数据库允许的最大连接数

select value from v$parameter where name ='processes'; 

没问题,连接数4,最大300,不可能的。

  • sqlnet.ora

查看一下,是空的,里面没有问题

  • 负载

没有做负载均衡,不可能是这个导致的

  • 限制ip

问过网关了,没有相关设置

1、有一种可能是时间戳,服务器和数据库对不上导致的,查询以后没有问题。

2、查询监听器日志,然后发现日志停留在周五,周末出的问题,那我想大概是监听器的问题了。lsnrctl status查看监听器状态,可以找到监听器日志位置。

重启之后还是没用,最后发现监听是用root账户启动的,而oracle的监听需要用oracle用户启动,我也是醉了,就这么个问题浪费我一个下午和晚上的时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值