DB fail 유형
DB fail 유형
Statement fail
- DB에 발생된 명령문(SQL구문)이 정상적으로 실행되지 않고 오류가 발생된 경우
- 원인 : 오타, 문법오류, 권한 부족, 공간 부족 등
- 해결 : 명령문 재작성, 권한 부여, 공간 부여 등
User proc fail
- DB에 접속된 user가 비정삭적으로 접속을 종료한 경우
- 원인
- user가 비정상적으로 접속을 종료한 경우
- DBA에 의해 session이 kill된 경우
- Client PC가 다운된 경우
- Network 불안정해서 접속이 끊어진 경우
- 해결 : 재접속하면 됨 <- PMON이 알아서 트랜잭션 롤백 및 LOCK해제함
Network fail
- DB가 정상적으로 켜져 있는데 DB에 접속이 안되는 경우
- 원인
- 리스너가 꺼져있는 경우
- Network가 불안정해서 DB접속이 아예 안되는 경우
- 해결
- 리스너 켜고 DB재시작 (순서중요)
- Newwork 안정화 작업 요청(DBA가 네트워크관리자에게 요청)
User error(사용자 실수)
- DB에 발생된 명령어(SQL)구문이 정상적으로 실행되었으나 잘못된 작업을 진행한 경우
- 원인 : 잘못된 DML과 DDL 등
- 해결
- 트랜잭션 진행 중인 경우 rollback
- commit을 이미 한 경우 반대의 작업을 다시 수행해야함(insert했다면 delete하고…)
- 테이블을 실수로 삭제했다면 flashback
Instance fail
- DB가 비정상적으로 종료된 경우
- 원인
- DBA가 DB를 비정상종료(abort)한 경우
- server pc가 다운되거나 정전이 발생한 경우
- instance내 필수 구성요소 중 하나에 오류가 발생한 경우
- 해결 : DB재시작하면 됨 <- DB가 재시작하는 동안에 SMON이 DB동기화 맞춰준다.
Media fail
- 가장 심각한 오류
- DB를 구성하는 필수 물리적인 파일 중 하나가 손실/손상된 경우
- 필수 물리적 파일 = datafile, controlfile, redologfile
- 원인 : 운영체제에서 datafile, controlfile, redologfile을 실수로 삭제한 경우
- 해결
- datafile : 백업파일로부터 복구작업 진행해야한다.
- controlfile : 다중화된 파일로부터 복구 작업 진행해야한다.
- redologfile : 다중화된 파일로부터 복구 작업 진행해야한다.