개요
ERR-91015 ( 593941) Communication failure 에 대해 설명합니다.
버전
ALTIBASE HDB 모든 버전
현상
ERR-91015 ( 593941) Communication failure 에러는 아래와 같이 다양한 환경에서 발생할 수 있습니다.
알티베이스 서버로 접속 시도 시
알티베이스 서버로 접속 시 이 에러가 발생하는 경우는 주로 iSQL 을 이용하는 경우입니다.iSQL 에서 알티베이스 서버로 접속 시 발생 예알티베이스 서버에 접속된 상태에서 발생하는 경우
알티베이스 서버에 접속된 상태에서 SQL 수행 시 발생 예알티베이스 서버 구동 시
알티베이스 서버 구동 시 발생 예
원인 및 조치 방법
알티베이스 서버로 접속 시도 시
ALTIBASE HDB 호환성 정책에 따라 상위 버전의 알티베이스 클라이언트에서 클라이언트보다 낮은 버전의 알티베이스 서버로 접속 시도 시 이 에러가 발생할 수 있습니다.
이 원인에 의한 경우 알티베이스 서버 측 altibase_boot.log 에 알티베이스 서버 버전에 따라 다양한 형태의 메시지가 출력됩니다. (하지만 특정 버전에서는 메시지가 전혀 남지 않을 수도 있습니다.)
따라서 알티베이스 서버로 접속 시 이 에러가 발생한다면 가장 먼저 알티베이스 서버와 클라이언트 버전을 확인해보세요. 클라이언트 버전이 서버 버전보다 상위 버전이라면 클라이언트 버전을 서버와 동일하게 맞추거나 서버보다 낮은 버전으로 설치하여 사용해야 합니다.
ALTIBASE HDB 서버 버전 확인 방법
$ altibase -v
version 6.1.1.4.9 X86_64_LINUX_redhat_Enterprise_ES4-64bit-6.3.1.4.4-release-GCC3.4.6 (x86_64-unknown-linux-gnu) Apr 14 2015 11:31:37, binary db version 6.2.1, meta version 6.3.1, cm protocol version 7.1.1, replication protocol version 7.4.1ALTIBASE HDB 클라이언트 버전 확인 방법
$ apre -v
Altibase Precompiler2(APRE) Ver.1 6.1.1.4.9 XEON_LINUX_redhat_Enterprise_ES4-64bit-6.1.1.4.9-release-GCC3.4.6 (xeon-redhat-linux-gnu) Dec 9 2014 16:06:42또는 iSQL 접속 시에는 배너에서도 버전을 확인할 수 있습니다.
$ is
-----------------------------------------------------------------
Altibase Client Query utility.
Release Version 6.1.1.4.9
Copyright 2000, ALTIBASE Corporation or its subsidiaries.
All Rights Reserved.
-----------------------------------------------------------------
알티베이스 서버에 접속된 상태에서 발생하는 경우
알티베이스 서버 프로퍼티에 의해 세션이 종료된 경우
- 알티베이스 서버 프로퍼티 FETCH_TIMEOUT, UTRANS_TIMEOUT, IDLE_TIMEOUT 에 의해 세션이 종료된 경우 클라이언트에서는 Communication failure 메시지가 발생할 수 있습니다.
이런 이유로 세션이 종료될 경우 알티베이스 서버 측 altibase_boot.log 에 아래와 같이 타임 아웃 설정에 의해 종료되었다는 에러 메시지가 남습니다.
(altibase_boot.log 는 $ALTIBASE_HOME/trc 디렉토리 아래에 있습니다. $ALTIBASE_HOME 은 알티베이스 서버 설치 위치를 의미합니다.)ALTIBASE HDB 6.3.1 - altibase_boot.log 예ALTIBASE HDB 4.3.9 - altibase_boot.log 예- 세션 프로퍼티 관련한 상세 내용이나 조치 방법은 아래 페이지를 참고하시기 바랍니다.
- FETCH_TIMEOUT : http://aid.altibase.com/x/lACL
- UTRANS_TIMEOUT : 준비 중
- IDLE_TIMEOUT : 준비 중
sysdba 유저에 의해 세션이 종료된 경우
- sysdba 가 ALTER DATABASE database_name SESSION CLOSE session_id ; 문장으로 세션이 강제 종료한 경우에도 Communication failure 에러가 발생할 수 있습니다.
- 이 경우 알티베이스 서버 또는 클라이언트 쪽에 아무런 추가 에러 정보가 남지 않습니다.
데이터베이스 서버 구동 시
알티베이스 서버 프로퍼티가 올바르게 설정되어 있지 않을 경우 알티베이스 서버 startup 시 Communication failure 에러가 발생할 수 있습니다.
경우에 따라 터미널 상에 보여주는 로그로는 원인 찾기가 어려울 수 있으니 아래 정보들을 통해 어떤 프로퍼티 때문에 발생하는 지 찾아가야 합니다.
- 터미널 상에 출력되는 로그
- altibase_boot.log 파일 ($ALTIBASE_HOME/trc 에 위치, $ALTIBASE_HOME 은 알티베이스 서버 설치 위치를 의미합니다.)
- altibase.properties 파일 ($ALTIBASE_HOME/conf 에 위치)