1. 관리자의 임무
- 어느 곳에서나 발생할 수 있는 failure로 부터 데이터베이스 보호
- MTBF(Mean-Time-Between-Failure) 증가
- 하드웨어를 최대한 신뢰할 수 있고, 중요한 구성 요소가 redundancy로 보호되고, 운영 체제 유지 관리가 적시에 수행되도록 해야 한다. - MTTR(Mean-Time-To-Recover) 감소
- 미리 recovery 프로시저를 연습하고 백업을 구성하여 필요할 때 즉시 사용 가능하도록 해야 한다. - 데이터 손실 최소화
- DBA가 승인된 최적의 사용법을 따르면 커밋된 트랜잭션이 손실되지 않도록 데이터베이스를 구성할 수 있다.
2. Failure 범주
- Statement failure : 단일 데이터베이스 작업(선택, 삽입, 갱신 또는 삭제)이 실패한다.
- User process failure : 단일 데이터베이스 세션이 실패한다.
- Network failure : 데이터베이스 연결이 끊긴다.
- Instance failure : 데이터베이스 instance가 예상치 않게 종료된다.
- Media failure : 하나 이상의 데이터베이스 파일이 손실되었다.
Statement Failure
일반적 문제 | 가능한 해결 방법 |
부적합한 데이터를 테이브렝 입력하려고 시도한 경우 | 유저와 함께 데이터를 검증하고 수정한다. |
권한이 부족한 상태에서 작업을 수행하려고 시도한 경우 | 적절한 객체나 시스템 권한을 제공한다. |
공간 할당 시도에 실패한 경우 | Resumable Space Allocation을 활성화 한다. 소유자 할당량을 늘린다. 테이블스페이스에 공간을 추가한다. |
응용 프로그램에 논리적 오류가 발생한 경우 | 개발자와 함께 프로그램 오류를 수정한다. |
User Process Failure
일반적 문제 | 가능한 해결 방법 |
유저가 비정상적으로 연결을 끊었다. 유저 세션이 비정상적으로 종료되었다. 세션을 종료시키는 프로그램 오류가 발생했다. |
User process failure를 해결하는 데는 대개 DBA 작업이 필요하지 않다. instance 백그라운드 프로세스가 커밋되지 않는 변경 사항을 롤백하고 lock을 해제한다. |
Network Failure
일반적 문제 | 가능한 해결 방법 |
리스너가 실패한 경우 | 백업 리스너와 Connect-time failover를 구성한다. |
NIC(Network Interface Card)가 실패한 경우 | 다중 네트워크 카드를 구성한다. |
네트워크 연결이 실패한 경우 | 백업 네트워크 연결을 구성한다. |
유저 오류
일반적 원인 | 가능한 해결 방법 |
유저가 실수로 데이터를 삭제하거나 수정한 경우 | 롤백하거나 Flashback Query를 사용하여 recovery 한다. |
유저가 테이블을 삭제한 경우 | Recycle bin에서 테이블을 recovery 한다. |
Instance Failure
일반적 원인 | 가능한 해결 방법 |
정전 하드웨어 failure 백그라운드 프로세스 중 하나의 failure 비상 종료 프로시저 |
"startup" 명령을 사용하여 instance를 재시작 한다. Instnace failure의 recovery는 자동으로 이루어진다. 리두로그의 변경 사항이 롤포워드되고 커밋되지 않은 트랜잭션이 롤백된다. Alert log, Trace file 및 EM을 사용하여 failure의 원인을 조사한다. |