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:
43
oracle/standby-server-scripts/rman_backup.bat
Normal file
43
oracle/standby-server-scripts/rman_backup.bat
Normal 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%
|
||||||
19
oracle/standby-server-scripts/rman_backup.txt
Normal file
19
oracle/standby-server-scripts/rman_backup.txt
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
RUN {
|
||||||
|
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
|
||||||
|
CONFIGURE CONTROLFILE AUTOBACKUP ON;
|
||||||
|
CONFIGURE COMPRESSION ALGORITHM 'BASIC';
|
||||||
|
|
||||||
|
# Full backup COMPRESSED + Archive logs (șterge logs după backup)
|
||||||
|
BACKUP AS COMPRESSED BACKUPSET
|
||||||
|
INCREMENTAL LEVEL 0
|
||||||
|
TAG 'DAILY_FULL_COMPRESSED'
|
||||||
|
DATABASE
|
||||||
|
PLUS ARCHIVELOG DELETE INPUT;
|
||||||
|
|
||||||
|
# Backup SPFILE și Control File
|
||||||
|
BACKUP AS COMPRESSED BACKUPSET SPFILE;
|
||||||
|
BACKUP CURRENT CONTROLFILE;
|
||||||
|
|
||||||
|
# Cleanup old backups (păstrează ultimele 2 - REDUNDANCY 2)
|
||||||
|
DELETE NOPROMPT OBSOLETE;
|
||||||
|
}
|
||||||
43
oracle/standby-server-scripts/rman_backup_incremental.bat
Normal file
43
oracle/standby-server-scripts/rman_backup_incremental.bat
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
@echo off
|
||||||
|
setlocal enabledelayedexpansion
|
||||||
|
|
||||||
|
REM ===================================================================
|
||||||
|
REM Oracle RMAN INCREMENTAL/CUMULATIVE Backup with Logging
|
||||||
|
REM Runs at: 13:00 and 18:00 (scheduled tasks)
|
||||||
|
REM Duration: ~5-10 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_incremental_%TIMESTAMP%.log
|
||||||
|
|
||||||
|
REM Create log directory if not exists
|
||||||
|
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
|
||||||
|
|
||||||
|
echo ========================================= >> "%LOGFILE%" 2>&1
|
||||||
|
echo Oracle RMAN INCREMENTAL 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_incremental.txt\"' 2>&1 | Tee-Object -FilePath '%LOGFILE%' -Append"
|
||||||
|
|
||||||
|
set EXITCODE=%ERRORLEVEL%
|
||||||
|
|
||||||
|
echo. >> "%LOGFILE%" 2>&1
|
||||||
|
echo ========================================= >> "%LOGFILE%" 2>&1
|
||||||
|
echo Oracle RMAN INCREMENTAL 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 INCREMENTAL backup completed with exit code: %EXITCODE%
|
||||||
|
echo [%date% %time%] Log file: %LOGFILE%
|
||||||
|
|
||||||
|
exit /b %EXITCODE%
|
||||||
15
oracle/standby-server-scripts/rman_backup_incremental.txt
Normal file
15
oracle/standby-server-scripts/rman_backup_incremental.txt
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
RUN {
|
||||||
|
# Incremental Level 1 CUMULATIVE backup
|
||||||
|
# Backup doar modificările de la ultimul Level 0 (full backup de la 02:00 AM)
|
||||||
|
BACKUP AS COMPRESSED BACKUPSET
|
||||||
|
INCREMENTAL LEVEL 1 CUMULATIVE
|
||||||
|
TAG 'MIDDAY_INCREMENTAL'
|
||||||
|
DATABASE
|
||||||
|
PLUS ARCHIVELOG DELETE INPUT;
|
||||||
|
|
||||||
|
# Backup SPFILE și controlfile (pentru siguranță)
|
||||||
|
BACKUP AS COMPRESSED BACKUPSET SPFILE;
|
||||||
|
BACKUP CURRENT CONTROLFILE;
|
||||||
|
|
||||||
|
# NU ștergem obsolete aici - se face la full backup
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user