Windows下定期清理oracle的监听日志
一、思路
1.编写bat脚本;
2.利用windows自带的【任务计划程序】使得bat脚本定期运行。
二、清理监听日志的脚本
bat文件的内容参照如下
@echo off
set LOG_DIR=D:\app\Administrator\diag\tnslsnr\电脑名\listener\trace
set SERVICE_NAME=OracleOraDb11g_homeTNSListener
rem 停止监听服务
echo Stopping listener service...
net stop %SERVICE_NAME%
rem 备份当前日志文件
set TIMESTAMP=%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%
echo %TIMESTAMP%
copy %LOG_DIR%\listener.log %LOG_DIR%\listener_%TIMESTAMP%.log > nul
echo Listener log copyed successfully.
rem 清空当前日志文件
echo. > %LOG_DIR%\listener.log
echo Listener log rotated successfully.
rem 重启监听服务
echo Starting listener service...
net start %SERVICE_NAME%
if %errorlevel% neq 0 (
echo There was an error starting the listener service.
) else (
echo Listener service started successfully.
)
需要注意的地方
1.需要根据各自电脑系统的 %DATE% 和 %TIME%变量来验证 %TIMESTAMP%是否正常。
2.确认监听服务名称是否正确。可在“服务”列表里查看。
三、任务计划程序里设置定期运行
1.打开任务计划程序:在Windows搜索框中输入“任务计划程序”并打开。
2.创建基本任务:在右侧操作面板中点击“创建基本任务…”。
3.命名任务:在向导中输入任务名称,比如“Oracle Listener Log Cleanup”,然后点击“下一步”。
4.触发器选择:根据需要选择日程安排,比如“每天”。然后设置具体时间,例如每天凌晨1点,并点击“下一步”。
5.操作选择:选择“启动程序”,然后点击“下一步”。
6.浏览脚本:在“程序或脚本”框中,浏览并选择之前创建的cleanup_listener_log.bat文件。点击“下一步”。
7.确认设置:检查设置无误后,点击“完成”。