문서유형ㅣ기술정보
분야ㅣ 관리/환경설정
적용제품버전ㅣ T6, T7
문서번호ㅣTADTI169
개요
Tibero에서 Listener는 DBMS에 대한 접속 요청을 받아들이는 프로세스입니다.
Listener는 LISTENER_PORT를 통해 접속 요청을 수신합니다.
기존에는 하나의 LISTENER_PORT만 설정할 수 있었으나, 해당 기능을 통해 여러 개의 LISTENER_PORT를 설정할 수 있습니다.
방법
기능 테스트
동적 리스너 포트 할당 및 해제
ALTER SYSTEM LISTENER ADD|DELETE PORT [사용포트] 구문을 통해 설정할 수 있습니다.
1. Listener Port 추가 할당
$tbsql sys/tibero
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero.
SQL> ALTER SYSTEM LISTENER ADD PORT 2527;
System altered.
2. netstat를 통해 포트상태 확인
$ netstat -nap | grep tblistener
tcp 0 0 0.0.0.0:1527 0.0.0.0:* LISTEN 1726840/tblistener
tcp 0 0 0.0.0.0:2527 0.0.0.0:* LISTEN 1726840/tblistener
3. $TB_HOME/client/config/tbdsn.tbr 파일에 신규포트 접속정보 등록
#-------------------------------------------------
# /tibero/user/seungah_ham/test/tibero7/client/config/tbdsn.tbr
# Network Configuration File.
TEST=(
(INSTANCE=(HOST=localhost)
(PORT=1527)
(DB_NAME=TEST)
)
)
TEST_2=(
(INSTANCE=(HOST=localhost)
(PORT=2527)
(DB_NAME=TEST)
)
)
4. 신규포트 정상 접속 확인
$tbsql sys/tibero@TEST_2
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero using TEST_2.
5. nestat 통해 접속상황 확인
netstat -na | grep 2527
tcp 0 0 0.0.0.0:2527 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:2527 127.0.0.1:57728 ESTABLISHED
tcp 0 0 127.0.0.1:57728 127.0.0.1:2527 ESTABLISHED
6. 할당했던 포트 해제
-- 현재 DELETE을 원하는 PORT에 접속된 Session이 있어도 수행가능
-- 기존에 생성된 Session은 접속된 상태로 유지
$tbsql sys/tibero
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to Tibero.
SQL> ALTER SYSTEM LISTENER DELETE PORT 2527;
System altered.
7. netstat를 통해 포트상태 확인
$ netstat -nap | grep tblistener
tcp 0 0 0.0.0.0:1527 0.0.0.0:* LISTEN 1726840/tblistener
정적 리스너 포트 할당 및 해제
TIP 파일에 EXTRA_LISTENER_PORTS 파라미터 설정을 추가하여 원하는 포트를 할당할 수 있습니다.
1. TIP 파일 수정
-- ; 구분자를 이용하여 여러개 포트 설정 가능
$ vi $TB_HOME/config/$TB_SID.tip
... (중략) ...
DB_NAME=TEST
LISTENER_PORT=1527
EXTRA_LISTENER_PORTS=2527;3527;
... (중략) ...
2. 재기동 필요 (TIP 파일은 재기동 시 적용됨)
$ tbdown immediate
$ tbboot
3. netstat를 통해 포트상태 확인
$ netstat -nap | grep tblistener
tcp 0 0 0.0.0.0:1527 0.0.0.0:* LISTEN 390518/tblistener
tcp 0 0 0.0.0.0:2527 0.0.0.0:* LISTEN 390518/tblistener
tcp 0 0 0.0.0.0:3527 0.0.0.0:* LISTEN 390518/tblistener
Listener 프로세스 재시작 기능
Listener 프로세스 외 다른 백그라운드 프로세스를 종료할 경우 DB가 Down될 수 있으므로 주의가 필요합니다.
1. ps -fu 명령어 이용하여 tblistener 프로세스 PID 확인
$ ps -fu $USER | grep tblistener
UID PID PPID C STIME TTY TIME CMD
tibero 390518 390517 0 16:26 pts/11 00:00:00 /tibero/user/seungah_ham/test/tibero7/bin/tblistener -n 11 -t NORMAL -SVR_SID TEST
2. kill -9 명령어 이용하여 강제적으로 tblistener 프로세스 죽임
$ kill -9 390518
3. 재기동 되는 것 확인
$ Listener port = 1527
$ ps -fu $USER | grep tblistener
tibero 397246 390517 0 16:43 pts/11 00:00:00 /tibero/user/seungah_ham/test/tibero7/bin/tblistener -n 11 -t NORMAL -SVR_SID TEST