사용자 도구

사이트 도구


dbms:oracle:concept:oracleprocesses

Oracle Process

User Process

  1. 사용자가 오라클 어플리케이션 프로그램을 실행시켰을때 사용되는 프로세스이다.
  2. 사용자가 오라클서버에 접속할때마다 사용자 프로세스가 생성된다.
  3. 사용자가 실행시킨 SQL문을 서버 프로세스에 전달하고, 그 결과를 서버 프로세스로부터 받는 역할을 수행한다.

Server Process

Shared Server vs Dedicated Server

Dedicated Server Processes

  1. Oracle에 접속된 모든 User Process는 상응하는 Dedicated Server Process를 가지므로
    User Process와 Server Process는 1:1의 비율로 존재한다.

Shared Server Processes

  1. 다수의 User Process가 매우 적은 수의 Server Process를 공유하는 것을 허용하는 방법이다.
  2. 다수의 User Process가 Dispatcher Process에 접속을 하고, Dispatcher는 Client 요구를 사용 가능한 공유 Server Process에 돌아가면서 진입한다.
  3. Shared Server Processes는 Dedicated Server Processes를 동시에 설정 가능하다.
  4. Shared Server 설정의 장점은 System Overhead(memory와 process수)가 감소되어 지원 가능한 User 수가 증가되는 효과를 가져온다.

Background Process

DBWn

  1. Database Writer Process(DBWn)
  2. Database Buffer Cache의 내용을 데이터 파일에 저장하는 작업을 수행한다.

LGWR

  1. Log Writer Process(LGWR)
  2. Redo Log Buffer의 내용을 Disk의 Redo Log File에 Write하는 역할을 담당한다.

CKPT

  1. Checkpoint Process(CKPT)
  2. 데이터파일 헤더와 컨트롤파일 정보 갱신 및 Database Buffer Cache와 Redo Log Buffer의 내용이 파일에 저장되는 것을 보장한다.

SMON

  1. System Monitor Process(SMON)
  2. System Monitor Process는 Oracle Instance를 관리하는 프로세스이다.
  3. Oracle Instance Fail시 Instance를 복구하는 역할을 한다.
  4. 데이터파일의 빈 공간을 연결하여 하나의 큰 빈 공간으로 만든다.
  5. 더 이상 사용하지 않는 Temporary Segment들을 재사용 할 수 있게 합니다.
  6. Database Open시 Files 의 일관성(Consistency) 검사 및 Recovery

PMON

  1. Process Monitor Process(PMON)
  2. 오라클에 서버에서 사용되는 각 프로세스들을 감시하는 프로세스이다.
  3. Process 비정상 Shutdown 시 Resource 회수
  4. 트랜잭션 회수(Transaction Rollback)
  5. 락(Lock) 해제

RECO

  1. Recoverer Process(RECO)
  2. Recoverer Process는 분산 데이터베이스에서 네트워크 또는 시스템 장애로 실패한 분산 트랜잭션 오류를 자동으로 처리합니다.
  3. Local Recoverer Processes는 정해진 시간마다 리모트 데이터베이스에 연결을 시도해 보고, 자동으로 로컬내의 미결정된 트랜잭션을 Commit 또는 Rollback 시킨다.

Jnnn

  1. Job Queue Process(Jnnn)
  2. Jnnn(J000…J999) process는 DBMS_JOBS 패키지에 의해 만들어지는 Job Request를 수행합니다.

CJQn

  1. Coordinator Job Queue Process(CJQn)
  2. CJQn 는 JOB$ Table을 모니터하여 처리해야 할 작업을 찾으면 자동적으로 Job Queue Process(Jnnn)를 시작합니다.
  3. JOB_QUEUE_PROCESSES 파라메터 값이 0이면 CJQn 프로세스는 활동하지 않는다.

ARCn

  1. Archiver Process(ARCn)
  2. ARCn 프로세스는 Redo Log File에 기록된 내용이 꽉차 로그파일이 스위치되면서 Redo Log File을 아카이브 저장소로 복사합니다.

Dnnn

  1. Dispatcher Process(Dnnn)
  2. Shared Server 환경에서 사용되는 Dispatcher Process로 서버 프로세스와 여러 개의 사용자 프로세스 사이에서
    사용자의 요구를 서버에 전달하고 서버의 응답을 사용자에게 전달하는 역할을 한다.

QMNn

  1. Queue Monitor Process(QMNn)
  2. Oracle Advanced Queuing(Oracle AQ)에 대한 메시지 대기열을 모니터하는 선택적 백그라운드 프로세스입니다.
  3. 최대 10개의 대기열 모니터 프로세스를 구성할 수 있습니다.

MMAN

  1. Memory Manager Process(MMAN)
  2. 자동화된 공유 메모리 관리(ASMM)를 위해 Memory Manager(MMNAM)라는 새로운 백그라운드 프로세스가 도입되었다.
  3. MMAN Backgroud Process가 5분마다 주기적으로 수집한 작업부하(Workload) 정보를 바탕으로 SGA가 동적으로 구성이 되고, 가장 필요한 곳에 동적으로 할당된다.
  4. 자동화된 공유 메모리 관리를 사용하기 위해서는 SGA_TARGET 파라메터 값을 0이 아닌 값으로 설정해야 합니다.

RVWR

  1. Recovery Writer Process(RVWR)
  2. Oracle 10g부터는 Flashback Database 기능을 위해 Recovery Writer Process(RVWR)라는 새로운 백그라운드 프로세스가 도입되었습니다.
  3. 이는 데이터 블록의 PreImage를 저장해서 Flashback Log를 기록하는 역할을 수행한다.

CTWR

  1. Change Tracking Writer Process(CTWR)
  2. Oracle 10g의 새로운 기능인 fast RMAN incremental backup을 위해 변경된 Tracking Feature를 위한 새로운 블록을 관장하는 프로세스이다.

MMNL

  1. Memory Monitor Light Process(MMNL)
  2. Oracle 10g에 새로 추가된 프로세스이다.
  3. new feature인 Automatic Workload Repository(AWR) 기능을 위해 statistics buffer 전체를 필요시 디스크에 기록하는 역할을 한다.

MMON

  1. Memory Monitor Process(MMON)
  2. Oracle 10g에 새로 추가된 프로세스이다.
  3. New feature인 Automatic Workload Repository와 연관되어 새로 추가된 프로세스이다.
  4. AWR는 자동화된 문제진단 및 self tuning 작업을 수행한다.
  5. MMON은 AWR에 필요한 통계정보를 스케줄에 따라 기록한다.
dbms/oracle/concept/oracleprocesses.txt · 마지막으로 수정됨: 2010/10/18 21:26 저자 starlits