数据库环境:Oracle 9i
主机:AIX 5.3
现象:连接数据库超级慢,用topas查看主机的资源占用情况,一切正常。从数据库本机连接自己,只要是通过listener监听,就会连接很慢。如果用oracle用户,用sqlplus ’/as sysdba‘的方式去连接,则一切正常。于是发现是数据库listener的问题。于是去查看listener的日志,发现listener的日志在5个月以前就已经满了,导致listener进程不正常。
解决办法:将listener日志清空,重新启动监听程序,一切恢复正常。
后期又一次出现这种情况,但是日志并没有很大,并且运行一段时间就会出现这种问题。这时去找原因。发现有其他没有在地址列表中的一个IP每隔10秒钟就会申请一次连接,而在日志中会有拒绝信息,但是没有记录该IP地址。没有办法,先将地址限制去掉,重启listener。查看日志,找出该地址,然后直接从防火墙上作限制。该问题才真正结局。
总结:在oracle加入地址限制以后,一定要注意监听日志的大小,同时还要注意,不能有不在地址列表中的IP地址频繁访问,否则会造成数据库运行一段时间以后,连接数据库就会非常的慢。