글
Oracle Background Process
백그라운드 프로세스?
-오라클 서버가 시작되면 자동으로 시작되어 운영과 유지를 담당하는 프로세스
서버시작 -> 시작
서버종료 -> 종료
그림 출처 : https://docs.oracle.com/cd/B19306_01/server.102/b14220/process.htm
필수 백그라운드 프로세스
1. DBWR (Database Writer)
더티블락을 데이터파일로 저장하는 역할.
버퍼캐시의 더티버퍼 내용을 데이터파일에 내려쓰는 경우는 아래와 같음
1) Checkpoint 신호 발생 시
2) 더티버퍼가 임계값을 지났을 때
3) Time out 발생 시
4) RAC ping 발생 시
5) Tablespace가 Read only 상태로 변경 시
6) Tablespace가 offline 될 때
7) Tablespace가 begin backup 상태가 될 떄
8) Drop table 이나 Truncate table 될 떄
9) Direct Path Read/Write 가 진행될 때
10) 일부 Parallel Query 작업 시
※ DBWn (0~9) / dbw 땡
2. LGWR(Log Writer)
데이터가 변경되면 서버프로세스가 변경 내역(Change Vector)을 리두 로그 버퍼에 기록.
LGWR은 리두 로그 버퍼에 있는 내용을 리두 로그 파일로 저장.
1) 커밋; 발생시
2) 1/3 찼을 때
3) 변경량이 1M 되었을 때
4) 3초마다
5) DBWR이 내려 쓰기 전에
★ Commit 수행하면 디스크로 데이터를 내려쓴다. 라는 건 사실 Commit을 수행하면 저장을
하긴 하지만 데이터를 저장하는 것이 아니라 리두 로그를 저장하는 것이다.
3. PMON(Process Monitor)
모든 서버 프로세스 감시 및 비정상적으로 종료된 프로세스 관련 복구작업.
서버 프로세스에 문제가 생겼을 때 모든 작업을 rollback 하고 뒷처리 담당.
4. SMON(System Monitor)
Instance Crash 상태 (비정상 종료)의 경우 인스턴스를 시작할 때 Clean Up
Instance Recovery 라고 함.
ex)
A 입력
B 입력
commit;
C 입력
정전
이후 startup -> Instance recovery 과정
1) 파라미터 파일 읽은 후 nomount 단계에서 instance 생성
2) mount 단계에서 컨트롤파일 내용 확인 -> instance crash 상황 확인
3) Redo log file 에서 A입력 B입력 commit; C입력 단계를 다시 수행(Roll Forward) 커밋 안된 C입력까지 수행
4) DB 오픈
5) 커밋 안 된 C입력 작업 취소 (Roll Backward)
5. CKPT(Checkpoint Process)
DBWR에게 checkpoint 신호를 전달해주며 컨트롤파일과 데이터파일 헤더에 해당 체크포인트
정보를 기록하는 역할. 로그라이터와 디비라이터와 연관되어있음.
6.MMON , MMNL (Manageability Monitor Process - 10g 이후)
7. RECO(Recoverer Process)
분산 DB 환경에서 트랜잭션 처리도중 장애 발생 경우 해당 트랜잭션 자동 복구.
선택적 백그라운드 프로세스
1. ARCn (Archiver Processes)
2. CJQ0 & Jnnn (Job Queue Processes)
3. FBDA(FlashBack Data Archiver Process)
내용출처 : 오라클 관리실무(서진수)
'Oracle Admin' 카테고리의 다른 글
data file , redo log file , control file 이동 간단정리 (0) | 2015.04.02 |
---|---|
Tablespace 와 Data File 관리 (0) | 2015.04.01 |
pfile , spfile 생성 및 관리 (0) | 2015.03.30 |
SQL 문장의 실행원리 (0) | 2015.03.29 |
Oracle Architecture (0) | 2015.03.29 |