오라클 백업 과 복구
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
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 오프라인 백업 주의사항[편집]
- 모든파일은 동일한 checkpoint SCN을 가져야 한다.
- - shutdown한 시점이 같아야 한다는 뜻
- (datafile 은 8월1일 백업, control file은 8/3일 백업, redo log 파일은 8/12일 백업,..등 각각 shutdown한 시점이 다르면 안된다.)
- 정상적인 shutdown 이여야 함.(shutdown immediate/transactional/normal)
- - 비정상적인 shutdown은 (shutdown abort/force/instance crash) 은 복구 불가능(일관성 문제발생 하기때문)
- 아카이빙/노아카이빙 로그 상관없이 가능.
- datafile/online redo log/control file 모두 백업 가능
1.1.1.2 온라인 백업(열린백업,hot backup)[편집]
- DBA 이외에 유저가 사용중인 상황에서 백업, 오픈 백업 , 핫 백업 이라고 부름
1.1.2 백업 대상 종류에 따라 분류[편집]
1.1.2.1 데이터베이스(전체) 백업 (풀백업)[편집]
1.1.3 백업 대상의 범위[편집]
- full 백업 : 백업 시점에서 모든 백업 실시
- incremental 백업(증분 백업) : 이전 변화된 부분 백업 이후에 갱신된 부분에 대해서만 백업
1.1.4 백업된 데이터 성질에 따른 분류[편집]
- 물리 백업
- 오라클 데이터파일을 내용에 관계없이 백업
- RMAN 명령어로 실행
- 논리 백업
- 오라클 데이터베이스의 테이블 데이터만 추출해서 백업
- export / import 이용 (exp/imp pump)