본문 바로가기

자바 웹 개발자가 될거야/DB

[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 약자