1、写在前面
在实际的生产过程中。我们会遇到当Oracle的监听日志大于4G的时候。会出现监听启动不了的情况。这个时候我们会通过关闭监听日志的手段来解决。但是在时间的情况中有时候需要去分析这些监听日志,这个时候我们可以通过切分日志的方式来解决。脚本如下:
@echo off
rem @echo off
rem 取1天之前的日期
echo wscript.echo dateadd("d",-1,date) >%tmp%\tmp.vbs
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j
for /f "tokens=1,2,3* delims=/" %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k
if %m% LSS 9 set m=0%m%
if %d% LSS 9 set d=0%d%
echo %y%-%m%-%d%
rem 设置 ORACLE 位于的盘符
set ORACLE_DRIVER=E:
rem 设置 ORACLE 的主目录
set ORACLE_PATH=%ORACLE_DRIVER%\app\Administrator
rem 设置 ORACLE 的监听日志目录
set LOG_PATH=%ORACLE_PATH%\diag\tnslsnr\WIN-84ENAN9HB3F\listener\trace
rem 移动文件
move %LOG_PATH%\listener.log %LOG_PATH%\listener%y%-%m%-%d%.log
2、效果
脚本中涉及到的目录请执行修改。这个脚本执行之后。可以看到如下图所示的日志目录:
3、后续
这个时候我们可以将上述脚本配置一个定时任务每天在零点执行(该步骤这里就不详细说了)。当然这个日志到时候也可以做一个脚本去定时清理。这里主要目的是将其切分,之后就没有那么复杂了!