블로그 이미지
숏퐁숑

카테고리

분류 전체보기 (70)
게임기획자 준비 (18)
게임기획 참고자료 (7)
프로그램 (33)
숨쉬기 활동 (10)
Total
Today
Yesterday

달력

« » 2024.10
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

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 정보를 유지 & 보존
  • 아카이브 과정
    1. 이름에 대한 규칙성을 정하고
    2. 하나이상의 로그파일 위치를 지정한다
    3. 아카이브 로그모드 설정(마운트에가서)
  • 이름의 규칙성을 정하는 파라미터 : 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
Posted by 숏퐁숑
, |

최근에 달린 댓글

글 보관함