监听日志过大,处理办法

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:

Oracle监听器日志文件(通常叫做listener.log)是一个纯文本文件,它的大小是一直不断增长的,在一个生产Oracle服务器上,DBA会每日查看该文件,如检查监听器是否有异常停止,是否有恶意攻击连接等,当这个文件特别大的时候,打开和浏览文件内容时可能比较慢。这时可能会想到将当前的日志文件备份一下,然后重新创建一个新的日志文件,但Oracle的监听器在运行时是不允许对其日志文件做删除,重命名操作,于是只有停止监听器。重命名后,再启动监听器,启动时会自动创建一个新的监听器日志文件,但这样客户端连接就会断开,本文介绍一种方法在不停止监听器的情况下,重命名监听器日志文件。

监听器命令(WINDOWS在命令行下操作,LINUX和AIX均同命令) 
lsnrctl set log_status off     
lsnrctl set log_status on 

实例:AIX、ORACLE10G
1、处理前(listener_p550a.log很大)
p550a:/home/oracle/database/network/log#ls -lt
总计 2356504
-rw-r--r--   1 oracle   dba      1195793131  3月11 09时59 listener_p550a.log
-rw-r--r--   1 oracle   dba        10698028  3月10 22时25 sqlnet.log

2、lsnrctl set log_status off
p550a:/#su - oracle
$ lsnrctl set log_status off  
 
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Production on 11-MAR-2011 10:02:38
 
Copyright (c) 1991, 2006, Oracle.  All rights reserved.
 
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_status" set to OFF
The command completed successfully

3、移动文件到备份路径,释放空间
p550a:/home/oracle/database/network/log#mv listener_p550a.log /bak

4、lsnrctl set log_status on
$ lsnrctl set log_status on
 
LSNRCTL for IBM/AIX RISC System/6000: Version 10.2.0.3.0 - Production on 11-MAR-2011 10:06:12
 
Copyright (c) 1991, 2006, Oracle.  All rights reserved.
 
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
LISTENER parameter "log_status" set to ON
The command completed successfully

5、再来看看,已经自动新建了listener_p550a.log
p550a:/home/oracle/database/network/log#ls -lt
总计 20928
-rw-r--r--   1 oracle   dba             102  3月11 10时06 listener_p550a.log
-rw-r--r--   1 oracle   dba        10698028  3月10 22时25 sqlnet.log
p550a:/home/oracle/database/network/log#















本文转自东方之子736651CTO博客,原文链接:http://blog.51cto.com/ecloud/1725192 ,如需转载请自行联系原作者


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
7月前
|
存储 分布式计算 监控
【Flume】Flume 监听日志文件案例分析
【4月更文挑战第4天】【Flume】Flume 监听日志文件案例分析
|
消息中间件 RocketMQ
RocketMQ 消费者监听日志不打印问题
RocketMQ 消费者监听日志不打印问题
310 0
RocketMQ 消费者监听日志不打印问题
|
4月前
|
SQL 程序员
分享一个 .NET 通过监听器拦截 EF 消息写日志的详细例子
分享一个 .NET 通过监听器拦截 EF 消息写日志的详细例子
|
2月前
|
SQL 分布式计算 Hadoop
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
Hadoop-19 Flume Agent批量采集数据到HDFS集群 监听Hive的日志 操作则把记录写入到HDFS 方便后续分析
48 2
|
4月前
|
存储 监控 网络协议
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
在Linux中,如何使用 tcpdump 监听主机为 192.168.1.1,tcp 端⼝为 80 的数据,并将将输出结果保存输出到tcpdump.log?
|
5月前
|
存储 Java
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
浅析JAVA日志中的性能实践与原理解释问题之测试日志内容大小对系统性能的影响问题如何解决
111 0
|
监控 Java Spring
spring通过监听事件记录系统日志
spring通过监听事件记录系统日志
|
SQL 监控 关系型数据库
【python小脚本】监听日志文件异常数据发送告警短信
老项目中有个用脚本启动的服务,很重要,用来做业务留痕的,涉及业务客户经常性投诉,是找第三方做的,时间长了维护需要花钱,老出各种未知bug,没办法处理所以机器上配了定时任务,定期的几天重启一次来解决。 但是有时候不知道什么原因,重启脚本运行,服务没起来,crond 也没有什么调度机制。 希望写个脚本做监控,当发现服务没起来,发送告警信息,或者重启服务。
175 0
|
应用服务中间件
idea控制台乱码(tomcat日志乱码)的解决办法
idea控制台乱码(tomcat日志乱码)的解决办法
idea控制台乱码(tomcat日志乱码)的解决办法
|
Oracle 关系型数据库
oracle学习24-数据文件设置自扩展和监听日志文件过大处理
oracle学习24-数据文件设置自扩展和监听日志文件过大处理
343 0