很简单:
在unix下你可以用crontab还完成
使用crontab -e加入如下一行
10 1 * * * > $ORACLE_HOME/network/log/listener.log
这时$ORACLE_HOME替换为全路径,语句表示为每天的1:10清一下listener.log文件。windowns我还没有好方案

解决方案 »

  1.   

    我现在的想法是写一个shell命令
    然后执行!!
    请帮我看看!!
    rq=` date +"%d" `
    cp $ORACLE_HOME/network/log/listener.log
       $ORACLE_BACKUP/network/log/listener_$rq.log
    su - oracle -c "lsnrctl set log_status off"
    cp /dev/null $ORACLE_HOME/network/log/listener.log
    su - oracle -c "lsnrctl set log_status on"
      

  2.   

    换个思路:
     如果你不需要大量的LOG信息写入listener.log . (实际上,它们多是为Support准备的)
      你可以更改listerner.ora--> TRACE_LEVEL_listener_name = {level_name | level_number} OFF (0) No trace output is generated.
      USER (4) User-level trace information is generated.
    ADMIN (6) Administrative-level trace information is generated.
    SUPPORT (16) Support-level trace information is generated. good luck
      

  3.   

    我在listener.ora 中没有找到你所写的!
      

  4.   

    你可以加在listener.ora 文件中,默认(不加的话)是off
      

  5.   

    我加上去了!!
    可是listener.log 文件还一样的增长啊!
    我现在的系统是win!
      

  6.   

    据我所知,直接清除listener.log会导致该log停止写入信息(我的系统遇到过这样的问题,oracle给我的解释是这样的。)
    如果你使用的是win系统
    先用lsnrctl进入监听模式
    LSNRCTL>set log_status off  关闭该日志
    清空该文件
    LSNRCTL>set log_status on  打开该日志。unix下差不多的,试试吧。