@echo off SET ORACLE_HOME=C:\oracle\product\11.2.0\dbhome_1 SET NLS_LANG=AMERICAN_AMERICA.WE8MSWIN1252 SET ORACLE_SID=%1% SET DB_PWD=%2% SET PATH=%ORACLE_HOME%\BIN;%PATH% SET LOG_DEST=C:\LBS_SCRIPTS\RMAN_LOG\ SET TMPDIR=C:\LBS_SCRIPTS\TEMP\ REM +--------------------------------------------------------------------------+ REM | START | REM +--------------------------------------------------------------------------+ cd %TMPDIR% REM +--------------------------------------------------------------------------+ REM | SET BACKUP TAG AND LEVEL (LEVEL 0=Full, 1=Incremental, 2=Differential | REM +--------------------------------------------------------------------------+ for /F "tokens=1 delims=/ " %%A in ('Date /t') do ( SET DAY_OF_WK=%%A ) IF %DAY_OF_WK%==Sat ( echo SAT SET BK_TAG=sat_incr_0 SET BK_LVL=0 ) IF %DAY_OF_WK%==Sun ( echo SUN SET BK_TAG=sun_incr_2 SET BK_LVL=2 ) IF %DAY_OF_WK%==Mon ( echo MON SET BK_TAG=mon_incr_2 SET BK_LVL=2 ) IF %DAY_OF_WK%==Tue ( echo TUE SET BK_TAG=tue_incr_2 SET BK_LVL=2 ) IF %DAY_OF_WK%==Wed ( echo WED SET BK_TAG=wed_incr_1 SET BK_LVL=1 ) IF %DAY_OF_WK%==Thu ( echo THU SET BK_TAG=thu_incr_2 SET BK_LVL=2 ) IF %DAY_OF_WK%==Fri ( echo FRI SET BK_TAG=fri_incr_2 SET BK_LVL=2 ) SET LOG_FILE=%LOG_DEST%RMAN_%ORACLE_SID%_%DAY_OF_WK%.log REM +--------------------------------------------------------------------------+ REM | GENERATE RMAN SCRIPT | REM +--------------------------------------------------------------------------+ echo run { > RMAN_%ORACLE_SID%.rcf echo BACKUP INCREMENTAL LEVEL=%BK_LVL% TAG %BK_TAG% DATABASE PLUS ARCHIVELOG DELETE INPUT; >> RMAN_%ORACLE_SID%.rcf echo BACKUP CURRENT CONTROLFILE; >> RMAN_%ORACLE_SID%.rcf echo } >> RMAN_%ORACLE_SID%.rcf echo ALLOCATE CHANNEL FOR MAINTENANCE TYPE DISK; >> RMAN_%ORACLE_SID%.rcf echo CROSSCHECK BACKUP; >> RMAN_%ORACLE_SID%.rcf echo RELEASE CHANNEL; >> RMAN_%ORACLE_SID%.rcf echo delete backup completed before 'sysdate-6'; >> RMAN_%ORACLE_SID%.rcf echo EXIT >> RMAN_%ORACLE_SID%.rcf REM +--------------------------------------------------------------------------+ REM | RUN RMAN | REM +--------------------------------------------------------------------------+ rman target sys/%DB_PWD%@%ORACLE_SID% cmdfile=%TMPDIR%RMAN_%ORACLE_SID%.rcf msglog=%LOG_FILE% REM +--------------------------------------------------------------------------+ REM | SEND EMAIL | REM +--------------------------------------------------------------------------+ SET EmailDistList=oradba@emeralit.com SET SUBJ=RMAN DAILY BACKUP: %ORACLE_SID% - %BK_TAG% findstr /I /C:"ERROR" %LOG_FILE% > nul if %ERRORLEVEL% == 0 Set SUBJ=[ERROR] %SUBJ% C:/lbs_scripts/blat262/full/blat "%LOG_FILE%" -to "%EmailDistList%" -f support@emeralit.com -server 192.168.90.40 -port 25 -subject "%SUBJ%" REM +--------------------------------------------------------------------------+ REM | END | REM +--------------------------------------------------------------------------+ cd .. :END
Your Comments