1. 程式人生 > >在Windows在切分Oracle的監聽日誌

在Windows在切分Oracle的監聽日誌

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、後續

這個時候我們可以將上述指令碼配置一個定時任務每天在零點執行(該步驟這裡就不詳細說了)。當然這個日誌到時候也可以做一個指令碼去定時清理。這裡主要目的是將其切分,之後就沒有那麼複雜了!