出现这种问题基本上就以下几种原因: 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用户启动,我也是醉了,就这么个问题浪费我一个下午和晚上的时间。