내용 목차
본 장에서는 Tibero를 사용할 때 발생할 수 있는 문제를 해결하는 방법을 설명한다.
문제
$ tbsql SYS/tibero tbSQL 5 SP1 Copyright (c) 2008, 2009, 2011 TmaxData Corporation. All rights reserved. [UNIX Domain Socket] connect failed : Connection refused TBR-2131: Generic I/O error No longer connected to server.
tbSQL 유틸리티를 이용하여 Tibero의 데이터베이스에 접속할 때 이러한 메시지가 출력되는 문제이다.
해결
우선 먼저 Tibero가 기동되어 있는지 확인한다. Tibero의 기동 여부에 따라 이를 해결하는 방법이 다르다.
Tibero가 기동되지 않은 경우
tbctl 명령어를 사용하여 Tibero의 프로세스가 실행되고 있는지 확인한다.
$ tbctl pid ...Tibero 프로세스가 없다.
또는 ps와 grep 명령어로 Tibero의 프로세스가 실행되고 있는지 확인한다.
$ ps -ef | grep tbsvr tibero 22919 22590 0 15:37 pts/10 00:00:00 grep tbsvr ...Tibero 프로세스가 없다.
Tibero 프로세스가 없다면 tbboot 명령어를 사용하여 Tibero를 기동한다. tbboot 명령어를 사용하는 방법에 대한 내용은 “2.5.1. tbboot”를 참고한다.
Tibero가 기동되어 있는 경우
다음과 같이 Tibero 프로세스는 실행되고 있으나, 데이터베이스에 접속되지 않는 경우는 대체로 서버와 클라이언트의 환경설정이 서로 맞지 않을 때 발생한다.
$ ps -ef | grep tbsvr tibero 32036 32035 0 20:00 pts/7 00:00:00 tbsvr -n ... tibero 32037 32036 0 20:00 pts/7 00:00:00 tbsvr_WT001 -n ... tibero 32038 32036 0 20:00 pts/7 00:00:00 tbsvr_SEQW -n ... tibero 32039 32036 0 20:00 pts/7 00:00:00 tbsvr_LOGW -n ... tibero 32040 32036 0 20:00 pts/7 00:00:00 tbsvr_LOGA -n ... tibero 32041 32036 0 20:00 pts/7 00:00:00 tbsvr_CKPT -n ... tibero 32042 32036 0 20:00 pts/7 00:00:00 tbsvr_BLKW000 -n ... tibero 32057 30048 0 20:00 pts/7 00:00:00 grep tbsvr
우선 $TB_HOME/client/config 디렉터리에 있는 tbdsn.tbr 파일을 확인하여 클라이언트의 설정 부분을 확인한다.
<tbdsn.tbr>
Tb5=( (INSTANCE=(HOST=localhost) (PORT=8629) (DB_NAME=Tb5) ) )
위 예제에서 보듯이, 호스트는 localhost, 포트 번호는 8629로 입력되어 있다. 이와 같은 정보가 서버의 환경설정 파일과 일치하는지 확인한다.
확인하는 방법은 다음과 같다.
<$TB_HOME/config/$TB_SID.tip>
# -----*----- conf -----*-----
#
# Tibero 초기화 파라미터
#
LISTENER_PORT=6666
......
$TB_SID.tip 파일을 보면 클라이언트에 설정된 포트 번호와 일치하지 않다는 것을 확인할 수 있다. 이로 인해 Tibero의 데이터베이스에 접속할 수 없는 원인이 된다.
또한, 포트 번호가 설정되지 않으면 Tibero 내부에 테스트 용인 임의의 포트 번호가 설정된다. 그러면 포트 번호의 충돌 등의 문제를 유발할 수 있다. 이러한 경우 Tibero의 안정적인 동작을 보장할 수 없다. 그러므로 반드시 포트 번호를 동일하게 설정해야 한다.
단, 로컬에서 접속할 때에는 tbdsn.tbr 파일에 포트 번호가 서버의 $TB_SID.tip 파일과 달라도 Tibero는 기동된다. 반면에 원격으로 접속할 때에는 반드시 서버 쪽의 포트 번호와 일치해야 Tibero가 기동된다.