① RMAN을 실행하는 기본 방법
RMAN은 Oracle이 설치된 환경에서 아래와 같이 실행할 수 있습니다.
명령 프롬프트(cmd)에서 실행
데이터베이스가 마운트 상태 또는 오픈 상태에서 백업 실행 가능
rman target /
또는
rman target sys/password@orcl
Windows에서 RMAN 백업을 자동화하려면 배치 파일(.bat)을 작성하고 Windows 작업 스케줄러에서 실행하면 됩니다.
① Windows RMAN 백업 스크립트 (backup_rman.bat)
@echo off
setlocal enabledelayedexpansion
:: 날짜 변수 (YYYYMMDDHHMM)
for /f "tokens=2 delims==" %%i in ('wmic os get localdatetime /value ^| find "="') do set datetime=%%i
set BACKUP_DATE=%datetime:~0,12%
:: 백업 경로 설정
set BKDIR=C:\oracle\rmn_backup
set BKDIROLD=C:\oracle\rmn_backup_old
set LOGFILE=%BKDIR%\rman_%BACKUP_DATE%.log
:: Oracle 환경 변수 설정
set ORACLE_HOME=C:\oracle\product\19c\dbhome_1
set ORACLE_SID=orcl
set PATH=%ORACLE_HOME%\bin;%PATH%
:: 백업 디렉토리 생성
if not exist %BKDIR% mkdir %BKDIR%
if not exist %BKDIROLD% mkdir %BKDIROLD%
:: 이전 백업 로그 파일 이동
move /Y %BKDIR%\rman*.log %BKDIROLD% >nul 2>&1
:: 백업 시작 로그 기록
echo RMAN Backup Start Time: %date% %time% >> %LOGFILE%
:: RMAN 백업 실행
rman target / log=%LOGFILE% cmdfile=C:\oracle\scripts\rman_backup_script.rman
:: 백업 종료 로그 기록
echo RMAN Backup End Time: %date% %time% >> %LOGFILE%
② RMAN 백업 명령어 파일 (rman_backup_script.rman)
이 파일은 위 backup_rman.bat에서 실행될 실제 RMAN 명령어를 포함하고 있습니다.
RUN {
CONFIGURE RETENTION POLICY TO REDUNDANCY 1;
CONFIGURE MAXSETSIZE TO UNLIMITED;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT 'C:\oracle\rmn_backup\%d_%U_FULL_database_%T.bk';
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'C:\oracle\rmn_backup\db_ctl_%F';
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
BACKUP AS BACKUPSET DATABASE PLUS ARCHIVELOG;
CROSSCHECK BACKUP;
DELETE NOPROMPT BACKUPSET COMPLETED BEFORE 'SYSDATE-7';
DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-8';
}
리눅스에서 crontab을 사용하는 것처럼, Windows에서는 작업 스케줄러(Task Scheduler) 를 이용하여 RMAN 백업을 자동 실행할 수 있습니다.
윈도우 + R → taskschd.msc → Enter
명령 프롬프트(cmd)에서 실행:
C:\oracle\backup_rman.bat
백업 파일 생성 확인
로그 파일 확인