windows 에서 oracle hot backup 자동화 (작업 스케줄)

현스·2025년 2월 6일
0

backup script

목록 보기
5/11
post-thumbnail

📌 1. hot_backup.bat 파일 생성

@echo off
REM Oracle Hot Backup Script (Windows Batch File)
REM 실행 로그를 기록
set LOGFILE=C:\backup\hotbk\backup_log_%DATE:~10,4%%DATE:~4,2%%DATE:~7,2%.log
echo Backup started at %DATE% %TIME% > %LOGFILE%

REM 환경 변수 설정 (Oracle 환경이 필요할 경우 추가)
set ORACLE_SID=ORCL
set ORACLE_HOME=C:\oracle\dbhome
set PATH=%ORACLE_HOME%\bin;%PATH%

REM SQL*Plus 실행하여 백업 명령 수행
sqlplus -s / as sysdba @C:\backup\hotbk\generate_backup.sql >> %LOGFILE%

REM 백업 완료 로그 기록
echo Backup completed at %DATE% %TIME% >> %LOGFILE%

백업 경로 C:\backup\hotbk

📌 2. generate_backup.sql 파일 생성

아래 내용을 C:\backup\hotbk\generate_backup.sql 파일로 저장하세요.

SET HEADING OFF
SET ECHO OFF
SET FEEDBACK OFF
SET LINESIZE 500

SPOOL C:\backup\hotbk\hotbk2.sql

SELECT 'ALTER TABLESPACE ' || T.TABLESPACE_NAME || ' BEGIN BACKUP;' || CHR(10) || 
       'host copy ' || D.FILE_NAME || ' E:\backup\hotbk\' || CHR(10) || 
       'ALTER TABLESPACE ' || T.TABLESPACE_NAME || ' END BACKUP;' || CHR(10)
FROM DBA_TABLESPACES T, DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME;

SELECT 'ALTER SYSTEM SWITCH LOGFILE;' FROM DUAL;

SELECT 'ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS ' || 
       '''E:\backup\hotbk\control.ctl''' || ';' 
FROM V$CONTROLFILE WHERE ROWNUM = 1;

SELECT 'host copy ' || MEMBER || ' E:\backup\hotbk\' || SUBSTR(MEMBER, -10) 
FROM V$LOGFILE;

SPOOL OFF

EXIT;

( CONTROLFILE 받기 전에 로그 스위치 일으키는게 좋다)

📌 3. Windows 작업 스케줄러에서 hot_backup.bat 실행

Windows 작업 스케줄러에서 자동 실행하도록 설정하는 방법:

1️⃣ 작업 스케줄러 열기
Win + R → taskschd.msc 입력 → Enter
2️⃣ 새 작업 생성
우측에서 "기본 작업 만들기" 선택
이름 입력: Oracle Hot Backup
트리거 설정:
"매일" 선택 → 실행할 시간 (예: 02:00 AM)
작업 설정(동작 선택):
"프로그램 시작" 선택
"프로그램/스크립트"에 hot_backup.bat의 전체 경로 입력
예: C:\backup\hotbk\hot_backup.bat
3️⃣ 추가 설정
"가장 높은 권한으로 실행" 체크
"사용자 로그온 여부와 관계없이 실행" 선택 (암호 입력 필요)
4️⃣ 저장 후 테스트 실행
"작업 실행"을 눌러 실행 확인
C:\backup\hotbk\backup_log_YYYYMMDD.log 파일이 생성되었는지 확인








🎯 최종 정리
✅ 1. hot_backup.bat 생성 (배치 파일)
✅ 2. generate_backup.sql 생성 (SQL 파일)
✅ 3. Windows 작업 스케줄러에서 자동 실행 설정
✅ 4. 백업 로그 확인 (backup_log_YYYYMMDD.log)

이제 매일 자동으로 Oracle Hot Backup이 수행됩니다! 🚀

profile
˗ˋˏ O R A C L E ˎˊ˗

0개의 댓글