

백그라운드 프로세스에는 다양한 종류가 있지만 빨간색 박스친 부분은 필수적인 프로세스들입니다. 이번 시간에는 필수적인 백그라운드 프로세스들에 대해 알아보겠습니다.
🤔 백그라운드 프로세스란?
백그라운드 프로세스는 데이터베이스의 일관성 유지, I/O 관리, 복구, 로깅 등을 자동으로 수행합니다.
역할:
트랜잭션에 의해 생성된 Redo Entry(Log Record) 를 Redo Log Buffer → Online Redo Log File 로 기록합니다.
동작 시점
역할:
SGA 내 Database Buffer Cache 의 Dirty Buffer를 데이터파일(Datafile) 로 기록합니다.
트리거 조건
특징
역할:
데이터베이스의 일관성 포인트(SCN) 를 정의하고,
DBWn에게 Dirty Buffer의 기록을 지시합니다.
주요 동작
Checkpoint 발생 유형
역할:
비정상 종료 후의 Instance Recovery 수행 및 시스템 자원 정리, Redo Log와 Undo Segment를 결합해 Crash Recovery를 수행합니다.
복구 절차
특징
역할:
비정상 종료된 사용자 프로세스(Server Process) 의 자원 해제 및 세션 정리.
주요 기능
⚠️주의
PMON은 세션 수준(Session-level) 의 복구를 담당하며,
SMON은 인스턴스 수준(Instance-level) 의 복구를 담당합니다.
백그라운드 프로세스의 복구 메커니즘 정리
| 복구 단계 | 사용 프로세스 | 주요 자원 | 설명 |
|---|---|---|---|
| Crash Recovery | SMON | Redo Log + Undo | 인스턴스 재기동 시 자동 수행 |
| Media Recovery | ARCn + DBWR | Archive Log + Datafile | 손상된 파일 복구 시 수행 |
| Transaction Recovery | PMON | Undo Segment | 세션 강제 종료 시 수행 |
역할:
Online Redo Log 파일을 Archive Log 파일로 복사하여 보관한다.
(ARCHIVELOG 모드일 때만 동작)
동작 방식
자세한 내용은 Redo와 Undo 파트에서 기술할 예정입니다.
역할:
분산 트랜잭션(Distributed Transaction) 환경에서 2-Phase Commit 실패 시
트랜잭션 상태 불일치 복구 수행.
동작 방식
Pending 상태 트랜잭션을 조사
로그 및 DTC(Distributed Transaction Coordinator) 정보 기반 Commit/Rollback 결정
| 프로세스 | 역할 |
|---|---|
| MMON / MMNL | AWR 스냅샷 관리, 성능 지표 수집, 자동 진단 (ADDM 기반) |
| MMAN | SGA/PGA 자동 관리 (Auto Memory Management) |
| CJQn / Jnnn | DBMS_JOB, DBMS_SCHEDULER 실행 프로세스 |
| LREG | Listener Registration 담당 (PMON에서 분리됨, 12c 이후) |
| RVWR | Flashback Database 기록 관리 (Undo + Redo 기반) |
| QMNC / Qnnn | Advanced Queue 모니터링 프로세스 |
| DBRM | Resource Manager 스케줄링 담당 (10g 이후) |