[Oracle] 오라클 인스턴스 구조
< 오라클 인스턴스 >
- 오라클 인스턴스는 SGA와 백그라운드 프로세스로 나뉜다.
- SGA : 공유 가능한 메모리 구조
- B/G Proc : 메모리와 데이터베이스(물리적인 파일) 사이에서 다리 역할하는 구성요소
① SGA
- Shared Pool
· 실행하기전 사전 준비 작업(실행계획, 정보수집)을 하는 곳
· Library cache
: 최근에 실행한 SQL 구문과 실행계획이 저장된 곳
: 쿼리구문의 대소문자, 공백까지 일치가 되어야 hit됨
: LRU( 가장 최근에 사용된적이 없는 걸 덮어씀 ) 알고리즘으로 관리됨
· Data Dictionary cache
: 최근에 사용된 DB의 정의 정보(Object, User, File, 권한 등)가 저장된 곳
: LRU 알고리즘으로 관리됨
- DB Buffer Cache
· 실제 실행(작업 수행)하는 곳
· 최근에 사용된 데이터 블록이 저장된 곳
· select, DML, DDL 등이 발생되는 실제 작업 공간
· LRU 알고리즘으로 관리됨
- Redo log Buffer
· DB에서 발생된 변경작업의 로그정보가 기록되는 곳
· 유일하게 순환형으로 관리됨
② B/G Proc
- PMON
· DB에 있는 User 프로세스 실패시 트랜잭션 rollback 및 선점하고 있던 자원 Lock 해제시켜줌
· Process Monitor 약자
- SMON
· 인스턴스 실패(DB 비정상 종료) 후 DB 재시작 시 DB 동기화를 맞춰줌
· System Monitor 약자
- DBWR
· 체크포인트 발생 시 DB Buffer Cache의 더티블럭을 Datafile로 기록함
· 체크포인트 : 더티블럭이 모였을 때 내부적으로 자동으로 발생하는 신호
· 메모리와 Datafile의 내용을 같게해주기 위함
· DataBase Writer 약자
- LGWR
· 커밋 발생 시 Redo log Buffer의 로그정보를 Redologfile로 기록함
· Log Writer 약자
- CKPT
· 체크포인트 발생 시 DBWR에게 알려줌
· Check Point 약자
- ARC(Option)
· DB를 Archive log mode로 설정하면 활성화됨
· Noarchive log mode로 설정하면 비활성화됨
· Redologfile에 로그스위치 발생시 Archivelogfile을 생성함
· Archiver 약자