"오라클 백업 과 복구"의 두 판 사이의 차이
DB CAFE
(→온라인 과 오프라인 백업) |
|||
(같은 사용자의 중간 판 13개는 보이지 않습니다) | |||
5번째 줄: | 5번째 줄: | ||
* 데이터베이스를 종료시킨 후 백업 | * 데이터베이스를 종료시킨 후 백업 | ||
* DBA만 접근이 가능한 상황에서 백업 , 콜드 백업 , 크로스 백업 이라고 부름 | * DBA만 접근이 가능한 상황에서 백업 , 콜드 백업 , 크로스 백업 이라고 부름 | ||
+ | |||
+ | ===== 오프라인 백업 실행 절차 ===== | ||
+ | 1) 백업 대상 확인 | ||
+ | <source lang=sql> | ||
+ | -- 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 | ||
+ | </source> | ||
+ | |||
+ | |||
+ | 2) DB 종료 | ||
+ | <source lang=sql> | ||
+ | SQL> shutdown immediate; | ||
+ | </source> | ||
+ | |||
+ | |||
+ | 3) 전체 파일 백업 수행 | ||
+ | * unix/linux경우 cp 명령어로 백업 디렉토리에 복사 | ||
+ | <source lang=sh> | ||
+ | -- 모든 데이타파일 백업/복사 | ||
+ | [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/ | ||
+ | </source> | ||
+ | |||
+ | |||
+ | 4) DB 시작 | ||
+ | <source lang=sql> | ||
+ | SQL> startup; | ||
+ | ORACLE instance started. | ||
+ | ... 이하 생략 ... | ||
+ | </source> | ||
===== 오프라인 백업 주의사항 ===== | ===== 오프라인 백업 주의사항 ===== | ||
# 모든파일은 동일한 checkpoint SCN을 가져야 한다. | # 모든파일은 동일한 checkpoint SCN을 가져야 한다. | ||
− | #: - shutdown한 시점이 같아야 한다는 뜻 (datafile 은 8월1일 백업, control file은 8/3일 백업, redo log 파일은 8/12일 백업,..등 각각 shutdown한 시점이 다르면 안된다.) | + | #: - shutdown한 시점이 같아야 한다는 뜻 |
− | # 정상적인 shutdown 이여야 함.(shutdown immediate/transactional | + | #: (datafile 은 8월1일 백업, control file은 8/3일 백업, redo log 파일은 8/12일 백업,..등 각각 shutdown한 시점이 다르면 안된다.) |
+ | # 정상적인 shutdown 이여야 함.(shutdown immediate/transactional/normal) | ||
#: - 비정상적인 shutdown은 (shutdown abort/force/instance crash) 은 복구 불가능(일관성 문제발생 하기때문) | #: - 비정상적인 shutdown은 (shutdown abort/force/instance crash) 은 복구 불가능(일관성 문제발생 하기때문) | ||
# 아카이빙/노아카이빙 로그 상관없이 가능. | # 아카이빙/노아카이빙 로그 상관없이 가능. | ||
# datafile/online redo log/control file 모두 백업 가능 | # datafile/online redo log/control file 모두 백업 가능 | ||
− | |||
− | ==== [[오라클 온라인 백업|온라인 백업]] ==== | + | ==== [[오라클 온라인 백업|온라인 백업(열린백업,hot backup)]] ==== |
− | + | * DBA 이외에 유저가 사용중인 상황에서 백업, 오픈 백업 , 핫 백업 이라고 부름 | |
+ | |||
+ | ===== [[오라클 온라인 백업#백업 전 DB 점검사항|온라인 백업 전 DB 점검사항]]===== | ||
+ | ===== [[오라클 온라인 백업#테이블스페이스 단위 온라인 백업 절차|테이블스페이스 단위 온라인 백업 절차]] ===== | ||
+ | |||
+ | ===== [[오라클 온라인 백업#온라인 백업을 이용한 완전 복구 방법|온라인 백업을 이용한 완전 복구 방법]] ===== | ||
=== 백업 대상 종류에 따라 분류 === | === 백업 대상 종류에 따라 분류 === | ||
− | + | ==== 데이터베이스(전체) 백업 (풀백업)==== | |
− | # 각각의 테이블스페이스 와 데이터 파일 백업 (부분백업) | + | |
− | + | ===== [[오라클_온라인_백업#DB 전체 백업 방법|DB 전체 온라인 백업 방법]]===== | |
− | + | ||
+ | ==== 각각의 테이블스페이스 와 데이터 파일 백업 (부분백업)==== | ||
+ | ===== 데이터 파일 확인 SQL ===== | ||
+ | <source lang=sql> | ||
+ | SELECT NAME | ||
+ | , STATUS | ||
+ | FROM V$DATAFILE; | ||
+ | </source> | ||
+ | ==== 컨트롤 파일 백업==== | ||
+ | |||
+ | ===== 컨트롤 파일 확인 SQL ===== | ||
+ | <source lang=sql> | ||
+ | SELECT NAME | ||
+ | FROM V$CONTROLFILE; | ||
+ | </source> | ||
+ | |||
+ | ==== 아카이브 로그 파일 백업==== | ||
+ | |||
+ | ===== redo log file 확인 SQL ===== | ||
+ | <source lang=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 | ||
+ | </source> | ||
+ | |||
=== 백업 대상의 범위 === | === 백업 대상의 범위 === | ||
# full 백업 : 백업 시점에서 모든 백업 실시 | # full 백업 : 백업 시점에서 모든 백업 실시 | ||
40번째 줄: | 119번째 줄: | ||
# 불완전 복구 | # 불완전 복구 | ||
#: 지정 시각과 지정 SCN번호의 시점 데이터를 복구 한다. | #: 지정 시각과 지정 SCN번호의 시점 데이터를 복구 한다. | ||
+ | [[category:oracle]] |
2023년 8월 17일 (목) 01:06 기준 최신판
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.1.2.1 온라인 백업 전 DB 점검사항[편집]
1.1.1.2.2 테이블스페이스 단위 온라인 백업 절차[편집]
1.1.1.2.3 온라인 백업을 이용한 완전 복구 방법[편집]
1.1.2 백업 대상 종류에 따라 분류[편집]
1.1.2.1 데이터베이스(전체) 백업 (풀백업)[편집]
1.1.2.1.1 DB 전체 온라인 백업 방법[편집]
1.1.3 백업 대상의 범위[편집]
- full 백업 : 백업 시점에서 모든 백업 실시
- incremental 백업(증분 백업) : 이전 변화된 부분 백업 이후에 갱신된 부분에 대해서만 백업
1.1.4 백업된 데이터 성질에 따른 분류[편집]
- 물리 백업
- 오라클 데이터파일을 내용에 관계없이 백업
- RMAN 명령어로 실행
- 논리 백업
- 오라클 데이터베이스의 테이블 데이터만 추출해서 백업
- export / import 이용 (exp/imp pump)