<Oracle Database 구조>
<<Database>>
1.Datafiles - 실제 Data가 저장된 곳. Data Dictionary가 저장된 곳.v$datafile, dba_data_files
2.Controlfile - DB의 무결성을 유지/관리하기 위한 동기화 정보가 기록된 곳.
(DB의 논리적/물리적 구조정보, 마지막 작업번호 등...)
DB당 하나 운영가능함.
다중화 제공됨(최대 8개까지 다중화 가능,권장사항: 3)
※다중화: Controlfile의 복사본이 생성하여 데이터가 기록될때마다 원본과 복사본에
동시에 기록되게 하는것.
v$controlfile
3.Redologfile - DB에서 발생된 모든 변경작업의 로그정보(Redo data)가 기록된 곳.
주목적: Datafile Recovery
DB당 반드시 2개이상 존재해야함, 순환형으로 관리됨
v$log, v$logfile
4.Parameterfile - Instance의 정의정보가 기록된 곳(SGA할당정보, B/G proc정보)
그 외 DB의 여러 설정 정보가 기록된 곳
5.Passwordfile - DB를 시작/종료할 수 있게 인증해 주는 곳.
6.Archived log file(option) - Redo log file의 Offline복사본
주목적: Datafile Recovery
<<Instance>>
[SGA] - 메모리구조, 공유가능
1.Shared Pool : 사전 준비작업을 하는 곳1) Library Cache - 최근에 실행된 쿼리구문의 실행계획이 저장된 곳
hit(실행계획 찾음), miss(실행계획 못찾음)
LRU알고리즘으로 관리됨.(최근에 사용된적이 없는 데이터부터 덮어씀)
2) Data Dictionary Cache - 최근에 사용된 DB정보가 저장된 곳
(table정보, 제약조건 정보, 유저정보, 파일정보 등...)
LRU 알고리즘으로 관리됨.
2.DB buffer cache - 실제 작업 공간
최근에 사용된 Data block이 저장된 곳
LRU알고리즘으로 관리됨
3.Redo log buffer - 최근에 발생된 변경작업의 로그정보(Redo data)가 기록되는 곳
순환형으로 관리됨
[B/G proc] (Background Process)
1.PMON(Process MONitor) - User proc fail시 rollback 및 선점하고 있던 자원&lock 해제함.2.SMON(System MONitor) - Instance fail시(=DB 비정상종료) 재시작하는 동안 DB 동기화 맞춰줌.
3.DBWR(DB WRiter) - DB buffer cache의 Dirty block(데이터가 변경된 블럭)을 Datafile로 기록함.
체크포인트 발생 시 기록함.
4.LGWR(LoG WRiter) - Redo log buffer의 Redo data를 Redo log file로 기록함.
커밋 발생시 기록함.
5.CKPT(ChecK PoinT) - 체크포인트 발생시 DBWR에게 알림
6.ARCn(option) - DB가 Archive log mode인 경우 활성화됨.
Redo log file에 로그스위치 발생시 Offline 복사본 생성함.
댓글
댓글 쓰기