Admin - Server Process, Backgroun Process
- Dedicated Server ; 하나의 user process당 하나의 server process가 관리함
자원 사용률은 나쁘나 관리가 편함
- Shared Server (=Multi Thread Server) ; 여러개의 user process를 하나의 server process가 관리함
자원 사용률은 좋으나 관리하기가 힘듬
(하나의 user process에 문제가 발생할(무한 loop 등) 경우 server process가
문제가 생긴 프로세스의 처리에만 집중되어 다른 프로세스를 관리하지 못하게 됨)
=> 이를 해결하기 위해 문제가 생긴 server process를 roll back할 경우 다른 모든 user process도 날라감
- Mandatory background processes
DBWn, PMON, CKPT, LGWR, SMON
- DBWn (DBWR) ; data buffer cache의 내용을 data file에 저장하는 역할
checkpoint 명령이 있을 때 Data Buffer Cache의 내용을 data file로 저장함 (commit이 저장하는 것은 아님)
=> checkpoint는 DBA에 의해 발생(full checkpoint)하거나, 자동으로 발생(증분 체크포인트)함
- checkpoint가 발생하기 전까지 buffer cache의 내용을 보호하기 위한 상태 신호
- dirty ; 트랜젝션 종료 후 미 저장 (commit이 되었으나 data file에 저장되지 않음)
- pinned ; 사용중인 버퍼(블록)
- free ; 사용가능
- checkpoint queue ; checkpoint가 발생한 블록들을 우선 저장해 놓았다가 특정 시간이 되면 한꺼번에 datafile에 저장함
=> full checkpint는 사용자가 queue에 보관된 내용을 모두 data file로 저장시킴
=> control file에 data file로 저장된 sequence가 보관되어 비상시에 이를 토대로 복귀함
- timeout ; 3초에 1번씩 checkpoint queue에 보관된 내용을 control file로 옮김
- RAC ; 여러대의 시스템이 하나의 data file을 분산하여 처리함
RAC ping ; 다른 시스템에서 commit되었으나 checkpoint가 발생하지 않아 저장되지 못한 data가 있을 경우,
수정(commit)한 시스템에 RAC ping을 요청하여 checkpoint를 발생시켜 datafile에 저장하도록 함
=> RAC ping이 없을 경우, 수정된 시스템의 data와 다른 시스템의 data가 다를 수 있음
- LGWR ; redo log buffer의 내용을 redo log file에 저장하는 역할
(redo log buffer의 내용은 server process가 씀)
- redo log buffer의 내용을 HDD에 저장한 것이 redo log files임 (commit을 할 때 함께 실행됨)
- data file에 수정된 내용을 저장할 때 수정해야할 블록의 위치를 찾아서 저장해야하지만,
redo는 위치에 관계(검색X)없이 순차적으로 저장하므로 저장 시간이 빠름 (따라서 오라클은 redo를 자주 활용함)
- commit이 발생시, commit이 발생하지 않더라도 1/3, 1MB가 찻을 때, 3초마다
- PMON ; 좀비 process를 제거함 (돌발 상황으로 user 접속이 해제되어 남겨진 server process를 제거)
- 기본적으로 server process가 roll back을 함, 문제가 생겨서 아무것도 할 수 없는 서버 프로세스를 롤백함
- SMON ; PMON을 대신하여 비정상 종료(instance crash)를 해결함
- roll foward, roll back
- CKPT ; checkpoint 신호를 만듬
'Oracle > Administration' 카테고리의 다른 글
Admin - Redo Log (0) | 2010.02.24 |
---|---|
Admin - Parameter File & Control File (0) | 2010.02.22 |
Admin - 오라클의 구조 (0) | 2010.02.19 |
사용자 권한 제어 (0) | 2010.02.19 |
오라클 시작하기 & 종료하기 (0) | 2010.02.08 |