@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