백그라운드 프로세스?

-오라클 서버가 시작되면 자동으로 시작되어 운영과 유지를 담당하는 프로세스

서버시작 -> 시작

서버종료 -> 종료



그림 출처 : 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

설정

트랙백

댓글