diff --git a/oracle/standby-server-scripts/rman_backup.bat b/oracle/standby-server-scripts/rman_backup.bat new file mode 100644 index 0000000..e3e5db5 --- /dev/null +++ b/oracle/standby-server-scripts/rman_backup.bat @@ -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% \ No newline at end of file diff --git a/oracle/standby-server-scripts/rman_backup.txt b/oracle/standby-server-scripts/rman_backup.txt new file mode 100644 index 0000000..879e45c --- /dev/null +++ b/oracle/standby-server-scripts/rman_backup.txt @@ -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; +} diff --git a/oracle/standby-server-scripts/rman_backup_incremental.bat b/oracle/standby-server-scripts/rman_backup_incremental.bat new file mode 100644 index 0000000..8d9dbd3 --- /dev/null +++ b/oracle/standby-server-scripts/rman_backup_incremental.bat @@ -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% diff --git a/oracle/standby-server-scripts/rman_backup_incremental.txt b/oracle/standby-server-scripts/rman_backup_incremental.txt new file mode 100644 index 0000000..7109f95 --- /dev/null +++ b/oracle/standby-server-scripts/rman_backup_incremental.txt @@ -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 +}