◆ 백업이란?
만약의 경우 장애가 발생해서 DB가 사용할 수 없는 상태가 되었을 때 이를 고치기 위해 필요한 파일들을 미리 복사해 두는 것.
◆ 백업 대상
만약을 위해 백업을 받아야 하는 대상은 필수 파일과 선택 파일로 구분할 수 있다.
필수파일로는 데이터파일, 리두로그파일, 컨트로파일이 있고, 선택파일은 파라미터파일, 패스워드파일이 있다.
선택적 파일은 굳이 백업을 받아두지 않아도 되나 추후 불편한 일이 생길 수 있기 때문에 백업시 대상에 포함시키는 것이 이롭다.(패스워드 파일이 없으면 sys계정으로 로그인을 못한다. 패스워드 파일을 다시 만드느니 차라리 백업을 받아두는 것이 좋을 것이다.)
◇ 패스워드 파일의 필요성
오라클 사용자 암호가 어디에 들어있을까? 바로 딕셔너리에 들어있다. 딕셔너리의 정보는 DB가 오픈 상태일 때만 가능하다는 것을 알 것이다.(DBA_, ALL_, USER_)
DB가 셧다운 된 상태에서 오픈시킬려면 sys로 로그인해야 한다. sys암호는 딕셔너리에 들어있다. 딕셔너리에서 sys암호를 찾아야 한다. 하지만 지금 DB는 꺼져있다. 이거 어떻게 할 것인가??
그래서 sys암호는 딕셔너리에 들어있지 않고, 별도의 파일로 들어있다.
경로는 $ORACLE_HOME/dbs/orapwSID 이다.
◇ 패스워드 보안
우리가 DB에 sys로 로그인 시 'sqlplus / as sysdba'라고 하면 로그인이 되는 것을 알 수 있다. 이때 sys의 암호는 쓰지 않았다. 그렇다면 sys의 암호를 모르는 사람이 로그인이 가능하다는 말이 된다. (실제로 로그인 가능;;)
원하는 것은 'sqlplus sys/암호 as sysdba' 처럼 암호를 입력해야 로그인이 가능하게 하고 싶다.
sqlnet.authentication_services=(none)
◆ 닫힌백업(콜드백업; Cold backup)
- 오라클을 셧다운 시킨 상태에서 백업
- 단점 : 백업받는 동안은 DB서비스 불가능.
◇ 주의사항
- 모든파일은 동일한 시점의 것이어야 한다.
- 정상적으로 DB를 셧다운 시킨 상태에서 백업을 받아야 한다.
- 아카이브 모드 또는 노아카이브 모드 모두 사용 가능
- 데이터파일, 컨트롤파일, 리두로그파일 모두를 백업받을 수 있다.
◇ 닫힌백업 순서
↓
② 원하는 경로에 파일 복사
↓
③ DB 오픈
◆ 열린백업(핫백업; Hot backup)
- 오라클이 오픈된 상태에서 백업
- 장점 : 백업 중에도 DB서비스 가능.
- 단점 : 리두로그의 양이 굉장히 증가하므로 어지간하면 DML작업이 다량으로 일어나는 시간에는 열린백업을 하지말자.
◇ 주의사항
- 열린백업은 테이블스페이스 단위로 백업 수행
- 반드시 DB는 아카이브 모드에서만 가능
- 데이터파일, 컨트롤파일만 백업 가능(리두로그파일은 데이터파일의 변경되는 내용이 저장되는 중이기 때문.)
이는 열린백업 동안 DML작업이 일어나면 많은 양의 리두로그가 발생하게 되고 백업이 오래 지속되면 그 동안에 변경된 내용은 전부 리두로그파일에 저장되었다가 백업이 끝나게 되면 다시 데이터파일에 적용해야 하기 때문에 반드시 아카이브로그모드로 작동해야 하는 것이다.
◇ 열린백업 순서
↓
② alter tablespace 테이블스페이스명 begin backup;
↓
③ 실제 OS명령어로 원하는 경로에 파일 복사
↓
④ alter tablespace 테이블스페이스명 end backup;
◇ 열린백업 상태 조회
아래 쿼리 결과 중 status 부분에 active로 되어 있으면 begin backup 상태, not active이면 end backup 상태임을 뜻함.
time 부분은 가장 마지막에 begin backup을 받은 시간을 뜻함.
from v$datafile a, v$backup b
where a.file#=b.file#
'오라클 > Backup & Recovery' 카테고리의 다른 글
[B/R] 기본적인 장애 상황 (0) | 2010.09.08 |
---|---|
[B/R] Recovery 원리 (0) | 2010.09.08 |
[B/R] Archive log mode와 No Archive log mode (0) | 2010.09.06 |
[B/R] 컨트롤 파일 재생성 (0) | 2010.08.27 |
[B/R] Flashback Table (0) | 2010.08.19 |