행위

오라클 백업 과 복구

DB CAFE

thumb_up 추천메뉴 바로가기


1 백업 과 복구[편집]

1.1 백업[편집]

1.1.1 온라인 과 오프라인 백업[편집]

1.1.1.1 오프라인 백업(닫힌 백업,cold backup)[편집]

  • 데이터베이스를 종료시킨 후 백업
  • DBA만 접근이 가능한 상황에서 백업 , 콜드 백업 , 크로스 백업 이라고 부름
1.1.1.1.1 오프라인 백업 실행 절차[편집]

1) 백업 대상 확인

-- 1 데이터 파일 확인
SQL> SELECT NAME
          , STATUS
       FROM V$DATAFILE;

-- 2 컨트롤 파일 확인
SQL> SELECT NAME
       FROM V$CONTROLFILE;

-- 3 아카이브 로그 파일 확인 
SQL> SELECT a.group#, a.member, b.bytes/1024/1024 MB, b.sequence# "SEQ#"
          , b.status, b.archived "ARC"
       FROM v$logfile a, v$log b
      WHERE a.group#=b.group#
      ORDER BY 1,2


2) DB 종료

SQL> shutdown immediate;


3) 전체 파일 백업 수행

  • unix/linux경우 cp 명령어로 백업 디렉토리에 복사
-- 모든 데이타파일 백업/복사 
[oracle@testdb]$ cp -av /app/oracle/oradata/testdb/*.dbf /backup/cold/data/

-- 모든 로그 백업/복사 
[oracle@testdb]$ cp -av /app/oracle/oradata/testdb/*.log /backup/cold/log/

-- 모든 컨트롤파일 백업/복사 
[oracle@testdb]$ cp -av /app/oracle/oradata/testdb/*.ctl /backup/cold/control/


4) DB 시작

SQL> startup;
ORACLE instance started.
... 이하 생략 ...
1.1.1.1.2 오프라인 백업 주의사항[편집]
  1. 모든파일은 동일한 checkpoint SCN을 가져야 한다.
    - shutdown한 시점이 같아야 한다는 뜻
    (datafile 은 8월1일 백업, control file은 8/3일 백업, redo log 파일은 8/12일 백업,..등 각각 shutdown한 시점이 다르면 안된다.)
  2. 정상적인 shutdown 이여야 함.(shutdown immediate/transactional/normal)
    - 비정상적인 shutdown은 (shutdown abort/force/instance crash) 은 복구 불가능(일관성 문제발생 하기때문)
  3. 아카이빙/노아카이빙 로그 상관없이 가능.
  4. datafile/online redo log/control file 모두 백업 가능

1.1.1.2 온라인 백업(열린백업,hot backup)[편집]

  • DBA 이외에 유저가 사용중인 상황에서 백업, 오픈 백업 , 핫 백업 이라고 부름

1.1.2 백업 대상 종류에 따라 분류[편집]

1.1.2.1 데이터베이스(전체) 백업 (풀백업)[편집]

1.1.2.2 각각의 테이블스페이스 와 데이터 파일 백업 (부분백업)[편집]

1.1.2.2.1 데이터 파일 확인 SQL[편집]
SELECT NAME
     , STATUS
  FROM V$DATAFILE;

1.1.2.3 컨트롤 파일 백업[편집]

1.1.2.3.1 컨트롤 파일 확인 SQL[편집]
SELECT NAME
  FROM V$CONTROLFILE;

1.1.2.4 아카이브 로그 파일 백업[편집]

1.1.2.4.1 redo log file 확인 SQL[편집]
SELECT a.group#, a.member, b.bytes/1024/1024 MB, b.sequence# "SEQ#"
     , b.status, b.archived "ARC"
FROM v$logfile a, v$log b
WHERE a.group#=b.group#
ORDER BY 1,2

1.1.3 백업 대상의 범위[편집]

  1. full 백업 : 백업 시점에서 모든 백업 실시
  2. incremental 백업(증분 백업) : 이전 변화된 부분 백업 이후에 갱신된 부분에 대해서만 백업

1.1.4 백업된 데이터 성질에 따른 분류[편집]

  1. 물리 백업
    오라클 데이터파일을 내용에 관계없이 백업
    RMAN 명령어로 실행
  2. 논리 백업
    오라클 데이터베이스의 테이블 데이터만 추출해서 백업
    export / import 이용 (exp/imp pump)

1.2 복구[편집]

1.2.1 복원 시점에 따른 분류[편집]

  1. 완전 복구
    피해 발생 직전(최종 커밋)의 데이터를 복구 한다
  2. 불완전 복구
    지정 시각과 지정 SCN번호의 시점 데이터를 복구 한다.