这是我参与8月更文挑战的第16天,活动详情查看:8月更文挑战
1、现象:
- 客户端连接数据库时连接缓慢或超时。
- 数据库服务器执行lsnrctl status命令查看监听状态时缓慢或卡住。
- 数据库日志无报错记录。
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
复制代码
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END