Oracle instance와 연관된 기본 메모리 구조
- SGA : 인스턴스가 시작될 때 할당 되며 모든 서버 및 백그라운드 프로세스에 의해 공유
SGA 사용자 공동 메모리( 거의다 씀 ) SP(나머지), DBCACHE(98%), REDO(30M미만)
100명이 접속하든 SGA는 1개가 할당
- PGA : 각 서버 프로세스에 대한 데이터 및 제어 정보를 포함하는 메모리 영역으로 각 서버 및
백그라운드 프로세스가 전용으로 사용, 각 프로세스마다 하나의 PGA가 있습니다.
PGA는 100명의 사용자가 접속하게 되는 경우 100개를 할당해줌
프로세스 구조
1. 유저 프로세스 : 데이터 베이스 유저가 Oracle 서버에 연결을 요청할 때 시작
2. 서버 프로세스 : Oracle instance에 연결하는 프로세스로, 유저가 세션을 설정할 때 시작
3. 백그라운드 프로세스 : Oracle instance가 시작될 때 시작
오라클 인스턴스 관리
Background Process
Process Monitor(PMON)
비정상 종료시 세션을 정리합니다. ( 1. rollback 2. lock해제 3.resource 해제 )
특정 서버 프로세스가 문제가 생길경우에 서버프로세스 관리자 PMON이 와서 정상복구해줌
정상적이지 않은 롤백 등등.
System Monitor(SMON)
비정상 종료 ( Instance Crash )
dirty < - > Cleans 롤백 되다가 안된 파일 등 정상적으로 해주는 작업
instance Recovery = SMON이 담당
뒤에 다시 instance가 실행 되었을 때 commit 된 정보는 recovery 하고 uncommit 된 정보는 rollback을 합니다.
Roll forward -> DB Open -> Roll back
Database Writer(DBWn)
: 데이터베이스 버퍼 캐시에 저장된 dirty block을 주기적으로 disk data file에 기록합니다.
Pinned Block (사용중) 커밋 안된 블럭 - commit 안된 버퍼
dirty Block - 저장 안된 블럭 - commit 된 버퍼
free Block - 저장완료된 블럭
*기록하는 경우
1)check point event가 발생 했을 경우
2)free buffer가 부족한 경우
3)dirty block 수가 임계치에 도달했을 경우
LogWriter(LGWR)
: redo log file에 redo log 항목을 기록합니다.
commit 실행시 redo 기록 삭제
*기록하는 경우
1) commit 됐을 때
2) buffe가 1/3이상 찼을때
3) 1mb 이상 redo 발생시
4) DBWn 쓰기 직전에 작동
*Background Process의 SMON, PMON, DBWn, LGWR, CKPT 가 필수적인 요소인 이유는 이 중 하나라도 정지하게 되면 DB가 정상적으로 작동되지 않습니다
'Oracle DataBase > Admin' 카테고리의 다른 글
Undo 설명 (0) | 2012.06.08 |
---|---|
SQL문 처리 과정 (0) | 2012.06.08 |
startup && shutdown (0) | 2012.06.08 |
데이터베이스 시작과 종료 (0) | 2012.06.08 |
오라클 기본 구조( 요약 ) (0) | 2012.06.08 |