回收Oracle的监听器日志文件


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

  在Windows平台下:

  C:\> cd \oracle\ora92\network\log #切换到监听器日志文件所在目录

  C:\oracle\ora92\network\log> lsnrctl set log_status off #将监听器日志文件暂时脱机

  C:\oracle\ora92\network\log> rename listener.log listener.old #重命名日志文件,可以加上日期

  C:\oracle\ora92\network\log> lsnrctl set log_status on #将监听器日志文件联机,会自动重新创建一个新的日志文件

  在Linux/Unix平台下:

  % cd /u01/app/oracle/product/9.2.0/network/log

  % lsnrctl set log_status off

  % mv listener.log listener.old

  % lsnrctl set log_status on

  这样重命名后,就可以将listener.old拷贝到DBA的工作电脑上进行深入分析,当遇到黑客攻击时,还可以保留该文件作为证据。

相关内容