본문 바로가기

Oracle/admin

Oracle11gR2 RAC Background Processes

[oracle@rac2 dbs]$ ps -ef |grep ora_


oracle    2339     1  0 09:53 ?        00:00:02 ora_pmon_rac2
오라클 서버에서 사용되는 각 프로세스들을 감시한다.
비정상 종료된 데이터베이스 접속을 정리.
정상적으로 작동하지 않는 프로세스들을 감시하여 종료시키고
비정상적으로 종료된 프로세스들에게 할달된 리소스를 재사용 가능하게 한다.


oracle    2341     1  0 09:53 ?        00:00:02 ora_psp0_rac2
다양한 백그라운드 프로세스를 생성 or 시작하는 일을 한다.
오라클 인스턴스를 위해 새로운 프로세스 or 쓰레드를 생성하는 프로세스이며
대부분작업을 인스턴스 구동시에 수행한다.


oracle    2343     1  2 09:53 ?        00:03:03 ora_vktm_rac2
가상시간유지기 프로세스는 오라클인스턴스를 위해 일관적이며 세밀하게 분할한
클록을 제공한다. 지속시간과 시간간격을 측정하는데 사용되는 정밀도가 매우 높은
타이머뿐만 아니라 사람이 읽을수 있는 wall clock time 둘다 제공한다.


oracle    2347     1  0 09:53 ?        00:00:00 ora_gen0_rac2
데이터베이스를 위한 일반적인 작업을 수행하는 스레드를 제공한다.
다른 프로세스로 인해 일어날수 있는 잠재적인 블로킹 과정을 줄이는 일을 수행한다.


oracle    2349     1  0 09:53 ?        00:00:07 ora_diag_rac2
인스턴스 장애시 진단 메세지를 기록한다.


oracle    2351     1  0 09:53 ?        00:00:00 ora_dbrm_rac2

자원계획을 설정하고 자원관리와 관계된 일을 수행한다.


oracle    2353     1  0 09:53 ?        00:00:01 ora_ping_rac2

inter connect의 지연을 감시한다.


oracle    2355     1  0 09:53 ?        00:00:00 ora_acms_rac2

ACMS는 RAC의 각노드에서 제어파일의 일관성있는 업데이트를 담당한다.


oracle    2358     1  0 09:53 ?        00:00:16 ora_dia0_rac2

교착상태를 감지하고 중지한다.


oracle    2360     1  0 09:53 ?        00:00:15 ora_lmon_rac2

Oracle RAC Cluster에 대한 글로벌자원을 관리한다.


oracle    2362     1  0 09:53 ?        00:00:15 ora_lmd0_rac2
노드간의 락정보 전송 요청 및 응답 메커니즘을 관리한다.
글로벌 락의 데드락을 감지하고 관리한다.
싱글DB에서 PMON의 역할을 글로벌하게 수행하는것으로 이해할수 있다.


oracle    2365     1  0 09:53 ?        00:00:36 ora_lms0_rac2
oracle    2369     1  0 09:53 ?        00:00:34 ora_lms1_rac2
복수개의 LMS프로세스가 협동하여 버퍼정보를 관리한다.
Oracle10g부터 GCS_SERVER_PROCESS 파라미터로 LMS프로세스 개수를 지정한다.
절대적인 권고치는 없으며 CPU가 많을수록 or interconnect 통신이 많을수록 많이
사용하는것이 일반적인 가이드이다.
오라클이 사용하는 기본값은 CPU 4개당 LMS프로세스 1개이다.


oracle    2373     1  0 09:53 ?        00:00:00 ora_rms0_rac2

oracle RAC에 대한 관리작업을 한다.


oracle    2376     1  0 09:53 ?        00:00:00 ora_lmhb_rac2

LMON,LMD,LMSn 프로세스의 상태를 모니터한다.


oracle    2382     1  0 09:53 ?        00:00:00 ora_mman_rac2
Oracle10g부터 자동화된 공유메모리관리를 위해 Memory Manager(MMAN)라는
프로세스가 도입 되었다.
MMAN은 5분마다 주기적으로 수집한 작업부하(Workload) 정보를 바탕으로
SGA가 동적으로 구성이되고 가장 필요한 곳에 동적으로 할당이 된다.
자동화된 공유메모리 관리를 사용하기 위해서는 SGA_TARGET파라미터값을 0이
아닌 값으로 설정해야 한다.(buffer,shared,java,large,streams 크기설정 및 재조정)


oracle    2384     1  0 09:53 ?        00:00:00 ora_dbw0_rac2
buffer cache의 내용을 데이터 파일에 저장하는 작업을 수행한다.
인스턴스는 최대 10개의 DBWR을 가질수 있으며 DB_WRITER_PROCESSES 파라미터를
 통해서 개수를 지정할수 있으나 대부분의 인스턴스에서는 하나의 DBWR을 사용한다.


oracle    2386     1  0 09:53 ?        00:00:00 ora_lgwr_rac2
redo log buffer의 내용을 disk의 redo log file에 write하는 역할을 담당한다.
-user porcess가 트랜잭션을 커밋했을시 커밋된 레코드
-3초마다
-redo log buffer가 1/3이상 찬 경우
-DBWR process가 변경된 buffer들을 Disk에 write할때


oracle    2388     1  0 09:53 ?        00:00:02 ora_ckpt_rac2
데이터파일헤더와 컨트롤파일정보갱신 및 데이터베이스 버퍼캐시,리두로그버퍼의
내용이 파일에 저장되는것을 보장한다. 이 기록은 추후 장애 발생시 기록된 시점까지
복구가 가능하도록 한다.
체크포인트는 SGA의 변경된 데이터베이스 버퍼캐시와 리두로그버퍼의 내용이 데이터
파일과 리두로그파일에 저장되도록 DBWR와 LGWF를 호출하는 기능을 한다.
-로그스위치가 발생할때
-최종데이터베이스 체크포인트 이후 명시된 시간경과시(LOG_CHECKPOINT_TIMEOUT)
-최종체크포인트 이후 일정블록의 수가 로그파일로 기록됐을시(LOG_CHECKPOINT_INTERVAL)
-인스턴스 정상종료시
-alter system checkpoint 명령시
-테이블스페이스가 오프라인 될경우,온라인백업이 시작될때


oracle    2390     1  0 09:53 ?        00:00:03 ora_smon_rac2
오라클 인스턴스를 관리한다. 인스턴스 fail시 인스턴스 복구역할을 한다.
데이터파일의 빈공간을 연결하여 하나의 큰 빈공간으로 만든다.
더이상 사용하지 않는 temporary segment들을 재사용 할수 있게 한다.


oracle    2414     1  0 09:53 ?        00:00:00 ora_reco_rac2
분산 데이터베이스에서 네트워크or시스템 장애로 실패한 분산 트랜잭션 오류를
자동으로 처리한다.
로컬RECO는 정해진 시간마다 리모트데이터베이스에 연결을 시도해 보고
자동으로 로컬내의 미결정된 트랜잭션을 커밋하거나 롤백시킨다.


oracle    2416     1  0 09:53 ?        00:00:04 ora_mmon_rac2
Oracle10g에 새로 추가된 프로세스로 Automatic Workload Repository(AWR)와
연관되어 새로 추가된 프로세스이다. AWM은 자동화된 문제 진단 및 self-tuning
작업을 수행한다.
MMON은 AWR에 필요한 통계정보를 스케쥴에 따라 기록한다.


oracle    2424     1  0 09:53 ?        00:00:03 ora_mmnl_rac2
Oracle10g에 새로 추가된 프로세스로 Automatic Workload Repository(AWR)기능을
위해 statistics buffer 전체를 필요시 디스크에 기록하는 역할을 한다.


oracle    2429     1  0 09:53 ?        00:00:00 ora_d000_rac2
shared server 환경에서 사용되는 dispatcher process로 서버프로세스와
사용자 프로세스 사이에서 사용자의 요구를 서버에 전달하고 서버의 응답을
사용자에게 전달하는 역활을 한다.


oracle    2431     1  0 09:53 ?        00:00:00 ora_s000_rac2

공유서버에서 클라이언트의 요청을 처리한다.


oracle    2440     1  0 09:53 ?        00:00:06 ora_lck0_rac2
Library cache lock/pin, row check lock을 관리한다.
OPS환경에서는 여러개의 LCK프로세스가 협동하여 관리하였으나
RAC에서는 단 하나만 구동된다. (inter connect기능의 차이)


oracle    2444     1  0 09:53 ?        00:00:00 ora_rsmn_rac2

Oracle RAC의 각 인스턴스 사이의 백그라운드프로세스 생성과 통신을 관리한다. 


oracle    2535     1  0 09:53 ?        00:00:00 ora_arc0_rac2
oracle    2538     1  0 09:53 ?        00:00:00 ora_arc1_rac2
oracle    2540     1  0 09:53 ?        00:00:00 ora_arc2_rac2
oracle    2542     1  0 09:53 ?        00:00:00 ora_arc3_rac2
Redo Log File에 기록된 내용이 꽉차 로그스위치가 일어나면 해당 리두로그파일을
아카이브 저장소로 복사한다.
이 프로세스는 10개의 ARCn Processes까지 가능하며 LOG_ARCHIVE_MAX_PROCESSES
파라미터에서 설정가능하다.
데이터베이스가 아카이브모드일때만 존재함.


oracle    2545     1  0 09:53 ?        00:00:00 ora_gtx0_rac2

글로벌 트랜잭션을 지원한다.


oracle    2547     1  0 09:53 ?        00:00:00 ora_rcbg_rac2

결과메세지를 처리한다.


oracle    2549     1  0 09:53 ?        00:00:00 ora_qmnc_rac2
dequeurs메세지를 기다리면서 AQ(Advanced Queing)와 alters 경보를
감시한다. QMNC와 Qnnn은 또 큐 전파(propagation)에 대한 책임을 지고
있다.(DB에 존재하는 큐에 입력된 메세지를 다른 DB에 있는 큐로 옮기는일)


oracle    2566     1  0 09:53 ?        00:00:01 ora_cjq0_rac2
JOB$ Table을 모니터하고 Job Queue Process(jnnn)을 시작시킨다.
JOB_QUEUE_PROCESS 파라미터 값이 0이면 CJQn프로세스는 활동하지 않는다.
 최대 1000개까지 띄울수 있고 j000~j999까지 이다.
 이프로세스는 MVIEW를 재생하는 과정의 하나로 복제에 집중적으로 사용된다.
 스트림기반으로 복제할 경우엔 AQ를 사용한다.


oracle    2569     1  0 09:53 ?        00:00:00 ora_q000_rac2
oracle   10043     1  0 11:28 ?        00:00:00 ora_q001_rac2

AQ Server Class Process


oracle    3096     1  0 09:59 ?        00:00:00 ora_smco_rac2
공간관리를 조정한다. 관리 인프라의 일부분으로 회수할수 있는 공간을 발견하는 프로
세스이다. 직접 해당공간을 회수하는 프로세스처럼 데이터베이스의 적극적인 공간관리
기능을 조정한다.


oracle   10178     1  0 11:29 ?        00:00:00 ora_w000_rac2

백그라운드 공간을 관리하는 일을 한다.


oracle   10994     1  0 11:40 ?        00:00:00 ora_pz99_rac2

Perform parallel execution of a SQL statement (query, DML, or DDL)


'Oracle > admin' 카테고리의 다른 글

Oracle11gR2 RAC(NFS) VOTE DISK, OCR FILE Multiplexing  (0) 2016.04.28
Oracle Statspack Survival Guide  (0) 2016.04.27
RMAN CONFIGURE LIST  (0) 2016.04.25
expdp,impdp  (0) 2016.04.25
Shrink Temporary Tablespace  (0) 2016.04.22