Oracle DR: Add RMAN backup scripts with enhanced logging

- Add rman_backup.bat: FULL backup with live console output and log file
- Add rman_backup_incremental.bat: INCREMENTAL backup with live output
- Add rman_backup.txt: RMAN script for LEVEL 0 FULL backup
- Add rman_backup_incremental.txt: RMAN script for LEVEL 1 CUMULATIVE backup
- Scripts are portable: use current directory instead of hardcoded paths
- Logging: simultaneous output to console AND log file using PowerShell Tee-Object
- Log files saved in logs/ subdirectory with timestamps

Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
This commit is contained in:
Marius
2025-10-10 23:41:42 +03:00
parent 839f1b6b82
commit 3c0beda819
4 changed files with 120 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
@echo off
setlocal enabledelayedexpansion
REM ===================================================================
REM Oracle RMAN FULL Backup with Logging
REM Runs at: 02:30 AM (scheduled task)
REM Duration: ~30 minutes
REM ===================================================================
REM Get script directory (where this .bat file is located)
set SCRIPTDIR=%~dp0
set LOGDIR=%SCRIPTDIR%logs
set TIMESTAMP=%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2%
set TIMESTAMP=%TIMESTAMP: =0%
set LOGFILE=%LOGDIR%\backup_full_%TIMESTAMP%.log
REM Create log directory if not exists
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
echo ========================================= >> "%LOGFILE%" 2>&1
echo Oracle RMAN FULL Backup Started >> "%LOGFILE%" 2>&1
echo Date: %date% %time% >> "%LOGFILE%" 2>&1
echo Script Directory: %SCRIPTDIR% >> "%LOGFILE%" 2>&1
echo ========================================= >> "%LOGFILE%" 2>&1
echo. >> "%LOGFILE%" 2>&1
REM Run RMAN backup - show in console AND save to log (using PowerShell tee)
powershell -Command "& cmd.exe /c 'rman target sys/romfastsoft@roa cmdfile=\"%SCRIPTDIR%rman_backup.txt\"' 2>&1 | Tee-Object -FilePath '%LOGFILE%' -Append"
set EXITCODE=%ERRORLEVEL%
echo. >> "%LOGFILE%" 2>&1
echo ========================================= >> "%LOGFILE%" 2>&1
echo Oracle RMAN FULL Backup Completed >> "%LOGFILE%" 2>&1
echo Date: %date% %time% >> "%LOGFILE%" 2>&1
echo Exit Code: %EXITCODE% >> "%LOGFILE%" 2>&1
echo ========================================= >> "%LOGFILE%" 2>&1
REM Print summary to console
echo [%date% %time%] RMAN FULL backup completed with exit code: %EXITCODE%
echo [%date% %time%] Log file: %LOGFILE%
exit /b %EXITCODE%