如果你的数据库是7 *24 小时服务的,不能启停监听,可以用下面办法清理监听日志,而不影响正常的业务
LSNRCTL>
LSNRCTL> set current_listener <listenername>
LSNRCTL> set log_status off --》然后mv 监听日志,或者tar -gz 压缩监听日志,或者可以rm掉
LSNRCTL> set log_status on --》执行这个后会生成一个新的监听日志文件
当然也可以写成shell 定时执行
$listener_log.sh
#!/bin/bash
data_name=`date +‘%d%m‘`
cd /opt/oracle/app/diag/tnslsnr/wskjdb/listener/trace
lsnrctl set log_status off
mv listener.log /tmp/listener.log.$data_name
lsnrctl set log_status on
lsnrctl reload
最最重要的:如果监听日志过大,大概率是 应用数据库链接池配置有问题。导致大量的数据库建立连接操作。频繁的建立数据库连接是低效操作。 应该从根本上解决这个问题。解决后,监听日志大小就不会太大。