Windows 에서 rman backup (작업 스케줄러)

현스·2025년 2월 10일
0

backup script

목록 보기
10/11

1. Windows에서 RMAN 실행 방법

① RMAN을 실행하는 기본 방법
RMAN은 Oracle이 설치된 환경에서 아래와 같이 실행할 수 있습니다.

명령 프롬프트(cmd)에서 실행

데이터베이스가 마운트 상태 또는 오픈 상태에서 백업 실행 가능

rman target / 

또는

rman target sys/password@orcl

2. Windows에서 RMAN 백업 자동화 (배치 스크립트 .bat)

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';
}

3. Windows 작업 스케줄러를 이용한 자동 백업

리눅스에서 crontab을 사용하는 것처럼, Windows에서는 작업 스케줄러(Task Scheduler) 를 이용하여 RMAN 백업을 자동 실행할 수 있습니다.

① 작업 스케줄러 실행

윈도우 + R → taskschd.msc → Enter

② 새로운 작업 만들기

  1. 우측 "기본 작업 만들기" 클릭
  2. 이름 설정: Oracle RMAN Backup
  3. 트리거 (실행 주기 설정)
    • "매일" 또는 "특정 시간 설정"
  4. 동작 선택: "프로그램 시작"
  5. 프로그램/스크립트 입력:
    배치 스크립트 실행: - C:\oracle\backup_rman.bat
  6. 마침 버튼 클릭

4. RMAN 백업 검증 및 실행 테스트

  1. 수동 실행 테스트

명령 프롬프트(cmd)에서 실행:

C:\oracle\backup_rman.bat
  1. 백업 파일 생성 확인

    • C:\oracle\rmn_backup 폴더에서 .bak 파일 확인
  2. 로그 파일 확인

    • C:\oracle\rmn_backup\rman_backup_history.log 파일에서 백업 성공 여부 확인
profile
˗ˋˏ O R A C L E ˎˊ˗

0개의 댓글