현상
•
기존에 사용 중이던 DB Link가 간헐적으로 끊기는 현상에 대해 설명합니다.
•
tbsql로 원격DB에는 접속되지만, DB Link로는 접속되지 않는 경우가 존재합니다.
참고 [적용 환경]
•
Tibero6 FS07 (linux)
•
MSSQL 2016 (windows)
-- tbsql로는 MSSQL에 접속 가능
[tibero@localhost ~]$tbsql tibero/tibero@msgate
tbSQL 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to SQL SERVER GATEWAY using msgate.
SQL> select * from test;
C1
ㅡㅡㅡㅡㅡㅡㅡㅡ
Alice
1 row selected.
-- DB Link로는 접속 되지 않음
[tibero@localhost ~]$tbsql tibero/tmax
tbSQL 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to Tibero.
SQL> create database link mslink connnect to tibero identified by 'tibero' using 'msgate';
Database Link 'MSLINK' created.
SQL> select * from tibero_test@mslink;
TBR-12130 : Unable to connect to remote database(RemoteDB_name=MSLINK).
TBR-2131 : Generic I/O error.
SQL
복사
원인
•
DB Link를 통해 원격DB에 연결하는 과정에서, 연결 시간이 DBLINK_CONN_TIMEOUT 값을 초과하여 발생합니다.
•
Tibero에서는 DB Link를 통해 접속할 때, DBLINK_CONN_TIMEOUT 내에 연결이 이루어지지 않을 경우 timeout으로 처리됩니다.
해결
•
Gateway 로그에 DBLINK_CONN_TIMEOUT 값을 초과하는 구간이 있는지 확인 후, 해당 파라미터 동적 적용을 진행합니다.
# jgw.log
-- connection success를 return 하는데까지 약 1분 소요
09:07:17.559 146163 [SessThr-12] INFO com.tmax.tibero.gateway.comm.SQLServerComm - LOCAL Transaction mode starting...
09:08:13.665 202269 [SessThr-12] TRACE com.tmax.tibero.gateway.comm.SQLServerComm - connection succeeded. [
SQL
복사
# DBLINK_CONN_TIMEOUT 파라미터 동적적용
ex) alter system set DBLINK_CONN_TIMEOUT=100;
SQL
복사
•
추후 DB 재기동 시에도 파라미터 적용을 위하여 tip 파일에 기입이 필요합니다.
◦
linux : $TB_HOME/config/$TB_SID.tip
◦
window : %TB_HOME%/config/%TB_SID%.tip
참고
•
Tibero6 버전까지는 DBLINK_CONN_TIMEOUT 기본값이 10초로 설정되어 있었으나, Tibero7부터는 기본값이 100초로 변경되었습니다.