본문 바로가기
다른 DBMS/Tibero

[운영] 세션 파라미터 설정과 관련 테스트

by 취미툰 2021. 4. 26.
반응형

본 자료는 Tibero Database Administration 강의 중 일부 챕터의 내용을 테스트해서 정리한 글입니다.

 

티베로는 오라클과 비슷하면서도 다른 구조를 가지고 있습니다. 작업하는 프로세스(Working Processes)는 WTHR(Working Thread)이라고 불리는 프로세스가 Client 요청시 DB작업을 수행합니다.

기본적으로 하나의 Working Processes에는 10개의 WTHR이 존재합니다. 10개의 프로세스는 고정입니다. WTHR이 10개면 10개의 세션이 붙을 수 있다는 뜻입니다. 즉, 10개 단위로 Working Processes를 증가시킬 수 있고 MAX_SESSION_COUNT=[숫자] 로 설정할 수 있습니다.

 

또한 Tibero Job이나 Schedule 작업 같은것은 Background Processes가 작업을 하게 됩니다. MAX_BG_SESSION_COUNT=[숫자]로 Background Process의 수를 지정할 수 있습니다.

일반적으로는 MAX_SESSION_COUNT만 설정되어 있고, MAX_BG_SESSION_COUNT는설정되어있지 않습니다. MAX_BG_SESSION_COUNT가 설정되어 있지 않으면 MAX_SESSION_COUNT 에 설정된 숫자 내에서 나눠 씁니다. 그리고 MAX_BG_SESSION_COUNT가설정되어 있으면 기본적으로 BackgroundProcess를 위한 프로세스가 그만큼 할당되서 Open되는것입니다.

 

예를 들어, MAX_SESSION_COUNT=20 MAX_BG_SESSION_COUNT=10이라면, Working Processes는 최대 20개가 생성되지만 Client에서 접속해서 사용할 수 있는 WTHR은 10(20 - 10)개가 최대입니다 BG 작업을 위한 10개는 명시되어있기 때문에 빼놔야 하기 때문입니다.

 

아래는20개의 최대세션을 설정 한 후 임의로 20개의 세션을 붙이고 임의의 JOB을 수행하여 SESSION의 상태를 확인하는 테스트입니다.

 

1.세션 파라미터 설정

MAX_SESSION_COUNT=20

tip파일에 설정 후 DB 재기동 필수

 

2.tbsql로 최대 세션까지 붙이기

SQL>  !tbsql sys/tibero

 

최대 세션에 도달하면 아래와 같은 에러 메세지가 발생됩니다.

TBR-12003: Unable to open a session.

 

 

3. JOB 등록

 

DECLARE

    JOB_NO NUMBER;

    BEGIN

    DBMS_JOB.SUBMIT(JOB_NO,'DBMS_LOCK.SLEEP(30);',SYSDATE,NULL);

    END;

    /

 

4.확인

 SQL> select count(*) from v$session;

  COUNT(*)
----------
         20

JOB은 수행되지 않습니다. 왜냐하면 세션은 이미 다 사용 중이기 때문에 JOB이 수행할 Process는 없기 때문입니다.

 

5. Session 하나를 Disconnect 후 JOB 다시 수행

 

6.확인

 

SQL> select sid,serial#,PROG_NAME,pid from v$session;

 

       SID    SERIAL# PROG_NAME                             PID

---------- ---------- ------------------------------ ----------

        86        176 tbsql                               22537

        87         88 tbsql                               22537

        88        104 tbsql                               22537

        89        120 tbsql                               22537

        90        126 tbsql                               22537

        91        128 tbsql                               22537

        92        130 tbsql                               22537

        93        134 tbsql                               22537

        94        136 tbsql                               22537

        95        138 tbsql                               22537

        96        142 tbsql                               22538

        97        144 tbsql                               22538

        98        146 tbsql                               22538

        99        150 tbsql                               22538

       100        152 tbsql                               22538

       101        154 tbsql                               22538

       102        158 tbsql                               22538

       103        160 tbsql                               22538

       104        197 JOB_SCHEDULER                       22538

 

104번 SID로 JOB_SCHEDULER가 수행중인것을 확인할 수 있습니다.

반응형

'다른 DBMS > Tibero' 카테고리의 다른 글

V$SESSION_WAIT  (0) 2021.07.13
Mount시 .passwd 파일 없어도 DB 올라오게 만드는 파라미터  (0) 2021.05.18
'내용' 안에 '(Single quotation) 추가하기  (0) 2021.04.20
Daily Check 스크립트  (0) 2021.02.22
DBMS_Scheduler  (0) 2021.01.13

댓글