oracle数据库连接超时,无法连接

1、现象:

  1. 客户端连接数据库时连接缓慢或超时。
  2. 数据库服务器执行lsnrctl status命令查看监听状态时缓慢或卡住。
  3. 数据库日志无报错记录。

2、原因:

此时一般为数据库监听日志listener.log大小超过限制的原因,此问题多出现在Windows操作系统,windows使用FAT16文件系统时,单个最大文件大小为2GB。windows使用FAT32文件系统时,单个最大文件大小为4GB。Linux使用ext2文件系统时,单个最大文件大小为1TB。Linux使用ext3文件系统时,单个最大文件大小为2TB。虽操作系统文件大小限制不大,但监听日志过大,仍会影响数据库连接。建议监听日志大小定期监控清理,不超2GB。

3、解决方式:

Windows

1)查看监听日志大小。

监听日志所在目录,Oracle软件安装目录找到app所在文件夹按如下路径查找:

D:\app\Administrator\diag\tnslsnr\主机名\listener\trace

或dos命令(cmd窗口)运行lsnrctl status查看,到listener\trace下:

2)清理监听日志。

Dos窗口切换到监听日志所在目录下:

备份原监听日志,重新生成新监听日志:

lsnrctl set log_status off  --暂停或脱机记录日志文件

rename listener.log listener.old.20200706  --重命名日志文件,一般加上日期,操作系统没空间,确定监听日志不再用时,可删除。

lsnrctl set log_status on   --联机监听器日志文件,会自动重新创建一个新的日志文件

Linux

1)查看监听日志大小。

监听日志所在目录,Oracle软件安装目录找到app所在文件夹按如下路径查找:

/u01/app/oracle/diag/tnslsnr/主机名/listener/trace

或oracle用户下运行lsnrctl status命令查看,到listener/trace下:

切换到监听日志所在目录下,运行du -sh *命令查看文件大小:

2)清理监听日志。

在监听日志所在目录下运行如下命令,备份原监听日志,重新生成新监听日志:

lsnrctl set log_status off  --暂停或脱机记录日志文件

mv listener.log listener.old.20200706  --重命名日志文件,一般加上日期,操作系统没空间,确定监听日志不再用时,可删除。

lsnrctl set log_status on   --联机监听器日志文件,会自动重新创建一个新的日志文件

猜你喜欢

转载自blog.csdn.net/songyundong1993/article/details/114639009