清理监听日志

30 篇文章 0 订阅


在数据库的运行中,会产生很多监听日志,堆积久了会占用很大的内存。

1 监听日志位置

监听日志listener.log日志放在了$ORACLE_BASE/diag/tnslsnr/{hostname}/listener/trace目录下
同时,可以通过查看监听状态的命令,找到监听日志文件的存放位置

[grid@rac1 ~]$ lsnrctl stat

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-8月 -2019 08:51:30

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

正在连接到 (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER 的 STATUS
------------------------
别名                      LISTENER
版本                      TNSLSNR for Linux: Version 11.2.0.4.0 - Production
启动日期                  27-1月 -2018 20:31:51
正常运行时间              82 天 9 小时 51 分 46 秒
跟踪级别                  off
安全性                    ON: Local OS Authentication
SNMP                      OFF
监听程序参数文件          /u01/app/11.2.0/grid/network/admin/listener.ora
监听程序日志文件          /u01/app/grid/diag/tnslsnr/rac1/listener/alert/log.xml
监听端点概要...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.X.XXX)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.X.XXX)(PORT=1521)))
服务摘要..
服务 "+ASM" 包含 1 个实例。
  实例 "+ASM1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "racdb" 包含 1 个实例。
  实例 "racdb1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "racdb.nsfc.gov.cn" 包含 1 个实例。
  实例 "racdb1", 状态 READY, 包含此服务的 1 个处理程序...
服务 "racdbXDB" 包含 1 个实例。
  实例 "racdb1", 状态 READY, 包含此服务的 1 个处理程序...
命令执行成功
[grid@rac1 alert]$ cd ..
[grid@rac1 listener]$ ls
alert/    cdump/    incident/  incpkg/  lck/  metadata/  metadata_dgif/  metadata_pv/  stage/  sweep/  trace/
[grid@rac1 listener]$ cd trace/
[grid@rac1 trace]$ ls
listener.log
[grid@rac1 trace]$ ll                        # trace目录下记录的日志文件更为详细
total 29077052
-rw-r----- 1 grid oinstall 29773876766 Aug 30 08:53 listener.log
[grid@rac1 trace]$ du -sh                # 查看日志大小
28G    .

如果是rac,还会有SCAN监听日志
SCAN监听日志放在了/u01/app/11.2.0/grid/log/diag/tnslsnr/{hostname}/listener_scan1/alert/目录下。
与监听日志一样,也可以通过查看SCAN监听状态的命令,找到日志文件的存放位置

[grid@rac1 ~]$ lsnrctl status listener_scan1

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-AUG-2019 09:01:14

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
TNS-12541: TNS:no listener
TNS-12560: TNS:protocol adapter error
  TNS-00511: No listener
   Linux Error: 2: No such file or directory

[grid@rac2 ~]$ lsnrctl status listener_scan1

LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 30-AUG-2019 09:02:13

Copyright (c) 1991, 2013, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=LISTENER_SCAN1)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER_SCAN1
Version                   TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date                27-JAN-2018 10:47:23
Uptime                    82 days 19 hr. 46 min. 56 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /u01/app/11.2.0/grid/network/admin/listener.ora
Listener Log File         /u01/app/11.2.0/grid/log/diag/tnslsnr/rac2/listener_scan1/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=LISTENER_SCAN1)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.X.XXX)(PORT=1521)))
Services Summary...
Service "racdb" has 2 instance(s).
  Instance "racdb1", status READY, has 1 handler(s) for this service...
  Instance "racdb2", status READY, has 1 handler(s) for this service...
Service "racdb.nsfc.gov.cn" has 2 instance(s).
  Instance "racdb1", status READY, has 1 handler(s) for this service...
  Instance "racdb2", status READY, has 1 handler(s) for this service...
Service "racdbXDB" has 2 instance(s).
  Instance "racdb1", status READY, has 1 handler(s) for this service...
  Instance "racdb2", status READY, has 1 handler(s) for this service...
The command completed successfully

注意,如果是rac,都必须使用grid用户登录

2 监听日志的清理

2.1 SHELL作业

一般,可以编写一个shell作业,每个月将监听日志移动至指定目录下,并删掉trace目录下的日志。
alert目录和trace目录下记录的都是监听日志,只是alert记录的更为详细。

  • 创建crontab定时任务
30 1 1 * * sh /u01/app/oracle/diag/tnslsnr/XXX107/listener/tracebak/mvlistenerlog.sh
  • 编写shell作业
#!/bin/bash

#mv listener log  to new station
path=/u01/app/grid/diag/tnslsnr/rac1/listener/
#get date
datestring=$(date +%Y%m --date="-1 month")
cp ${path}trace/listener.log   ${path}tracebak/listener_rac1_${datestring}.log
echo  > ${path}trace/listener.log

2.2 手动清理

  • tracebak/目录下的监听日志根据实际内存环境,可以手动每隔一段时间一清
  • alert目录下可以根据需要,保留一周或一个月
find /u01/app/grid/diag/tnslsnr/rac1/listener/alert/ -mtime +7 -name "*" -exec rm -rf {} \;

用find命令结合rm删除某目录下指定文件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值