在Windows在切分Oracle的監聽日誌
阿新 • • 發佈:2018-12-18
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、後續
這個時候我們可以將上述指令碼配置一個定時任務每天在零點執行(該步驟這裡就不詳細說了)。當然這個日誌到時候也可以做一個指令碼去定時清理。這裡主要目的是將其切分,之後就沒有那麼複雜了!