Backup & Recovery
프로그램/ORACLE / 2016. 11. 30. 09:47
- 관리자로써의 의무
- 데이터베이스를 어떠한 오류로 부터로의 보호
- MTBF를 늘리고
- MTTR을 줄인다
- MTTR : Fail이 난 이후 복구해서 다시 정상적으로 작동할 때까지(복구시간)
- MTTF : Fail이 발생하고 다음번 Fail이 발생하는 시간
- MTBF : MTTR+MTTF(DB신뢰도/가용도)
- 최소의 데이터 손실을 줄인다
- Case by Case에 대한 Test를 모두 해본다 -> 결제
- Fail의 종류
- 구문(문장) 오류
- 사용자 실수의 오류
- 네트워크 오류
- 세션 오류
- 인스턴스 오류(껐다 켜라..!)
- SMON의 복구 과정을 거쳐라!
- 매체 오류(Storage, Device, File)
일반적인 문제 |
해결책 |
부적합한 데이터의 입력시도 |
정상적인 데이터만 입력해라 |
불충분한 권한으로 작업시도 |
적절한 오브젝트나 시스템 권한을 부여 |
공간할당 실패 |
· Resumable Space를 가동시키면 Space가 꽉 찰 경우 작업이 일시정지되고 Alert!이 발생한다. · 사용자에 대한 공간할당을 해준다 · 테이블 스페이스를 추가한다 |
잘못된 어플리케이션 에러 |
개발자나 사용자에게 정확한 에러를 찾게한다 |
- User Process Failure
- 비정상적 종료
- 세션을 종료시키는 프로그램에 오류발생
- Solution : DBA의 개입이 필요없다. PMON이 알아서 처리해준다. 문제를 발생한 Trend를 보고 판단한다
- 계속해서 연결 끊김현상(비정상적인 종료)가 발생하면
- 사용자의 교육이 필요
- Network Fail을 의심해본다
- 비정상적으로 종료되는 Application도 확인해본다
- Network Failure
- Listener오류
- 백업 리스너를 구성해서 재빠르게 대응한다
- Failover(계속적인 접근시도) 기능을 이용한다
- 네트워크 카드 오류
- 백업 랜카드를 준비해둔다
- 네트워크 장비 오류
- 백업 네트워크 장비를 준비해둔다
- User Error
- 데이터를 실수로 삭제하거나 수정했을경우(DML실수)
- 실수로 드랍을 할경우(DDL 실수)
- Solution : 휴지통을 이용해서 복구 & 롤백, Purge로 삭제했을 경우는 Backup(불완전복구) 정보로 복구한다
- LogMiner : FlashBack 보다는 기능이 떨어지지만, 예전부터 사용해왔던 복구도구이다.
- Instance Failure
- 정전
- 하드웨어 오류
- 필수 백그라운드 프로세서중 오류
- 비상종료
- Solution : Startup 명령을 사용해서 Restart(SMON이 복구)
- 복구된후 Alert!로그와 Trace File & EM을 보고 오류를 분석한다
- ※ Commit된 정보를 DataFile로 적용시키는것 : Roll Fowarding
- CKPT
- DBWr Process에게 Signal을 보낸다
- 신호받은 DBWr는 Dirty Block(Buffer Cache에 있다)를 Data File로 기록한다
- Check Point Queue에 Dirty Block의 정보가 있다.
- DB FIle Header와 Contorl 파일의 정보를 Update한다.
- 무결성 체크!
- Check Point Position : Check Point Position과 현재 DB 상태의 거리가 가까울수록 Recovery 시간이 짧다
- Check Point가 존재하는 이유
- Dirty Block을 Data FIle로 주기적으로 내려쓰기 위해
- Recovery Time을 줄일수있다.
- Shutdown시 Data 기록을 확실히 보장한다
- LGWr
- Redo Log FIle
- DB의 모든 변경사항
- 데이터 손실로부터 보호하기 위해 다중화를 하고 다중화된 멤버는 서로다른 Disk에 위치시킨다!
- 단점 : I/O를 많이 발생하고, Disk 공간을 차지한다
- 언제?
- Commit 할때마다
- 3초마다
- DBWn Wirte가 쓰기전
- ARCn
- 옵션 프로세서이다
- 아카이브로그 모드가 활성되어 있는 경우 online Redo Log 파일을 자동으로 아카이브한다
- DB의 모둔 변경 사항을 영원히 보존한다.
- EM & CMD로 할수있다.
- Instance Recovery
- 종료될때 제대로 종료되지 않은 DB가 있으면 복구후 OPEN한다
- 자동설정되어있다
- Rego Log Group에 있는 내용으로 재적용 해준다
- Roll Fowarding -> Commit된 정보와 DataFile이 일치가 안되면 적용
- Roll Back -> Commit 되지 않은 값을 Undo Segment에 있는 값(Orinigal) 과 DataFIle값을 비교해서 롤백
- OPEN이 되면 DataFile과 Redo Log이 열린다. 이때 복구작업이 진행된다(SMON)
- Check Point Position의 마지막 정보와 Redo Log File의 마지막 정보를 비교해서 동기화시킨다
- RBA(Redo Log File의 전체 Address)
- fast-start-mttr-target = 900 -> Instance Recovery 하는데 걸리는 최대 시간
- 900초 분량의 Dirty Blcok의 개수
- 시간이 짧을경우 : 복구시간은 짧아지지만 DBWr I/O는 많이발생
- 시간이 길경우 : 복구시간은 길어지지만 DBWr I/O는 적게발생
- Media Failure
- Disk Driver 오류
- Disk Controller 오류
- DB 파일 오류
- Solution
- 백업한 데이터로 부터 복구
- 필요에 따라서 Redo(Redo Log FIle & Archive File) 정보 적용
- 새로운 위치를 지정(Disk Fail일 경우)
- 복구능력 향상을 위한 구성
- 최대한 일반적인 백업 스케쥴을 구성(증분백업정책)
- Control 파일과, Redo Log Group의 다중화
- Redo Log의 Archive를 잘 보관
- Control Files
- 최소한 2개이상의 Control 파일은 다중화 시켜라
- 서로다른 디스크에 각각 저장
- Control File 백업
- alter database backup controlfile to trace -> udump/*.trc
- alter database backup controlfile to trace as '경로/파일"
- alter database backup controlfile to '경로/파일' -> Image Backup(File로 생성)
- 실습
-
WS1-2-ch14. Managed Control File LAB
-
- Redo Log File
- 그룹이 2개 이상이여야 하는 이유 : Log Switch가 가능!
- 다중화는 성능의 심각한 영향을 준다(I/O 발생)
- v$log_stats
- Current (LGWr)
- Active -> Checkpoint (ARCn이 작업중일경우)
- Inactive -> 삭제가능
- Unused -> 초기화(Clear), 생성직후
- Clearing -> Alter database clear logfile group n; 그룹 초기화
- Clearing_Current -> I/O 오류가 발생한 상황
- 실습
- WS1-2-ch14. Managed Redolog File LAB
- Archive Log
- Redo 정보를 유지 & 보존
- 아카이브 과정
- 이름에 대한 규칙성을 정하고
- 하나이상의 로그파일 위치를 지정한다
- 아카이브 로그모드 설정(마운트에가서)
- 이름의 규칙성을 정하는 파라미터 : log_archive_format
----------------------------------------------------------
- Performing Database Backup
- Secure Backup
- End-to-End 기능
- 중앙화된 백업 관리를 수행할수 있다
- RMAN Backup의 한창 강화된 기능을 포함
- 네트워크상의 백업이 가능
- Resource 문제를 해결
- 저렴한 비용과 신뢰할수 있는 데이터보호 정책등이 보장된다
- User Managed Backup
- Backup이 필요한건지 Backup상태가 어떤지 사용자가 직접 체크한다(스크립트 이용 권고)
- 일반 TBS 백업시
- 정보조회를 먼저한다
- v$datafole
- v$logfile
- v$controlfile
- alter tablespace xxx begin backup -> 백업모드로 전환(Check Point 발생)
- v$backup으로 backup모드인지 확인
- cp
- alter tablespace xxx end backup
- 정보조회를 먼저한다
'프로그램 > ORACLE' 카테고리의 다른 글
마스터 TABLE 데이터 간단히 BACKUP 하기! (0) | 2016.11.30 |
---|---|
Linux 기반의 Oracle10g 설치 (0) | 2016.11.30 |
with grant option & with admin option 차이 (0) | 2016.11.30 |
데이터베이스]SEQUENCE(시퀀스)란 무엇인가? (0) | 2016.11.30 |
view에 사용되는 with check option (0) | 2016.11.30 |