Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

DBDBDEEP

Tibero 구조 본문

Tibero 이론

Tibero 구조

Kihwane 2022. 10. 28. 11:15

Process

Tibero 인스턴스는 크게 총 3종류의 프로세스로 구성된다. (리스너, 워커프로세스, 백그라운드 프로세스)

 

 

Listener 

클라이언트의 새로운 접속을 받아 이를 유휴한 WPROC(워커 프로세스) 에 할당한다.

클라이언트와 워커 프로세스 중계역할 담당. < $TB_SID.tip > 파일 에서 작업할 수 있다.

모니터링 프로세스에 의해서 생성되고 강제 종료하더라도 자동 재시작 된다.

 

Worker Process

하나의 워커 프로세스 안에 1개의 컨트롤 스레드 / 10개의 워커 스레드가 존재한다. 

프로세스당 워커 스레드 개수 _WTHR_PRE_PROC 초기화 파라미터로 조절 할 수 있고, WTHR_PROC_CNT 일단 기동된 뒤에는 변경할 수 없음

 

 CTHR(컨트롤 스레드)

    워커 프로세스마다 하나씩 존재하며 다음과 같은 역할을 담당한다.

     > Tibero가 기동될 때 초기화 파라미터에 설정된 수만큼 워커 스레드를 생성

     > 클라이언트의 새로운 접속 요청이 오면 현재 유휴한 워커 스레드에 클라이언트의 접속을 할당한다.

 

 

 워커 스레드 (WTHR)

    > 각 Worker Process마다 여러 개 생성한다.

    > Client가 보내는 메시지를 받아 처리하고 결과를 리턴한다.

    > 워커 스레드는 클라이언트와 1:1로 통신

 

Background Processes

사용자의 요청을 직접 받아들이지는 않고, 워커 스레드나 다른 배경 프로세스가 요청할 때, 혹은 정해진 주기에 따라 동작하며 주로 시간이 오래 걸리는 디스크 작업을 담당한다.

 

독립된 프로세스로서, 사용자의 요청과 비동기적으로 동작.

 

감시 프로세스(MONP: monitor process)

  > Tibero 기동 시 최초로 생성되는 종료 시에도 마지막에 종료

  > Tibero 기동 시, 리스너를 포함한 다른 프로세스를 생성, 주기적으로 각 프로세스 상태 점검

  > 교착 상태 (Deadlock)도 검사

 

매니저 프로세스(MGWP)

  > 시스템 관리 용도 프로세스 관리자의 접속 요청을 받아 이를 시스템 관리 용도로 예약된 워커 스레드에 접속을 할당

  > 기본적으로 워커 프로세스와 동일한 역할을 수행하지만 리스너를 거치지 않고, 스페셜 포트를 통해 직접 접속

  > SYS 계정만 접속이 허용, LOCAL 에서만 접속 가능

 

에이전트 프로세스(AGNT)

 > 시스템 유지를 위해 주기적으로 처리해야 하는 Tibero 내부 작업을 담당한다.

 

데이터베이스 쓰기 프로세스 (DBWR)

 > 데이터 베이스에서 변경된 내용을 디스크에 기록하는 일과 연관된 스레드들이 모여 있는 프로세스.

 > 사용자가 변경한 블록을 디스크에 주기적으로 기록하는 스레드

 > 리두 로그를 디스크에 기록하는 스레드

 > 두 스레드를 통해 데이터베이스의 체크포인트 과정을 관할하는 체크포인트 스레드

 

복구 프로세스(REWP)

> 복구 전용 프로세스

> Crash / Instance Recovery 수행

 


TSM (Tibero Shared Memory = SGA)

> 인스턴스에 대한 데이터와 제어정보를 가지는 공유 메모리 영역

> 사용자가 동시에 데이터를 공유

> 사용자가 요청한 쿼리의 실행계획을 저장, 요청한 데이터를 블록단위로 저장, 이것들을 DB 사용자간 공유하여 DB사용       성능향성을 위한 영역

 

PGA

> 워킹프로세스가 사용자로부터의 요청결과를 정렬하는데 주로 쓰이고 DB 사용자 간에 공유하지 않는 영역이다.

 

'Tibero 이론' 카테고리의 다른 글

Partitioning  (0) 2022.11.01
Tibero DB구성 (HA, TAC, TAS, TSC, TBCM..)  (0) 2022.10.28
Tibero log  (0) 2022.10.25
Tibero 기동단계  (2) 2022.09.29
tbcfgv / # Tip(Location : $TB_HOME/config/$TB_SID.tip)  (0) 2022.09.28