본 자료는 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 |
댓글