[Oracle] 백업 및 복원
programming/database

[Oracle] 백업 및 복원

11. 백업 및 복원

 

11.1 백업 및 복원의 중요성

전쟁에서 실패한 지휘관은 용서할 수 있어도, 경계에 실패한 지휘관은 용서받지 못한다(맥아더 장군).
작전 실패는 용서해도 배식 실패는 용서할 수 없다(말년병장).
배송에 실패한 업체는 용서할 수 없다(소비자).
백업에 실패한 DB 관리자는 용서할 수 없다(개발팀장).

 

 

11.2 기본툴(exp, imp)을 이용한 백업/복원 방법

오라클 서버의 실행파일 디렉토리로 이동(Oracle 11g XE의 경우)
C:\oraclexe\app\oracle\product\11.2.0\server\bin\

 

11.2.1 exp.exe를 이용한 백업 방법

형식) exp userid=계정명/패스워드 file=백업파일이름
cmd> cd C:\oraclexe\app\oracle\product\11.2.0\server\bin\
cmd> exp userid=hr/hr file=d:/test.bak

 

11.2.2 imp.exe를 이용한 복원 방법

형식) imp 계정명/패스워드 file=백업파일이름
full=y 풀옵션 복원, ignore=y 에러메세지 무시
cmd> cd C:\oraclexe\app\oracle\product\11.2.0\server\bin\
cmd> imp hr/hr file=d:/test.bak full=y ignore=y

 

 

11.3 Toad를 이용한 백업/복원 방법

11.3.1 테이블별로 백업하는 방법

Database - Schema Browser 실행한 후 테이블별로 백업

 

11.3.2 데이터베이스 전체를 백업하는 방법

Database - Export Utility Wizard 실행(정식버전에서만 사용 가능함)

 

 

11.4 SQL Developer를 이용한 백업/복원 방법

도구 - 데이터베이스 익스포트
형식에서 엑셀파일, csv파일, insert script 등 다양한 형식을 선택할 수 있음
image

 

 

11.5 스케줄러를 이용한 자동 백업 방법

11.5.1 백업을 위한 디렉토리 생성(d:\ora_backup)

11.5.2 백업을 위한 batch file 작성(d:\ora_backup\exp_daily.bat)

@echo off
SET ORACLE\_SID=**xe**
for %%a in (%date%) do SET day=%%a
md D:\\ORA\_BACKUP\\%day%
C:\\oraclexe\\app\\oracle\\product\\11.2.0\\server\\bin\\exp **hr/hr**
file=D:\\ORA\_BACKUP\\%DAY%\\%DAY%-full.dmp full=y

 

11.5.3 윈도우 작업스케줄러 등록(cmd에서 실행, 관리자 권한으로 실행해야 함)

at 00:00 /every:m, t, w, th, f, s, su d:\\ora\_backup\\exp\_daily.bat