콘텐츠로 이동

iSQL 관련 환경변수

iSQL 관련 환경변수#

ALTIBASE_HOME#

패키지가 설치된 디렉터리의 위치이다.

ALTIBASE_HOME은 iSQL을 사용하기 위해서 반드시 설정해야 하는 환경 변수이다. 일반적으로 서버가 설치될 때 자동으로 설정되지만 클라이언트의 경우에는 서버의 환경 변수와 충돌이 있을 수 있으므로 사용자가 직접 설정해야 한다.

ALTIBASE_PORT_NO#

접속할 서버의 포트 번호이다. -PORT 옵션 또는 altibase.properties 파일 내의 프로퍼티를 통해서 지정할 수도 있다.

포트 번호 설정의 우선 순위는 -PORT 옵션, 환경변수 ALTIBASE_PORT_NO, altibase.properties 파일 내의 프로퍼티 순이며 아무것도 설정되지 않았을 경우에는 포트 번호 입력 프롬프트가 출력된다.

ALTIBASE_SSL_PORT_NO#

iSQL이 SSL/TLS 통신으로 접속할 서버의 포트 번호이다.

SSL 포트 번호의 우선 순위는 -PORT 옵션, 환경변수, ALTIBASE_SSL_PORT_NO, altibase.properties 파일 내의 프로퍼티 순이며 만약 아무것도 설정되지 않았을 경우에는 포트 번호 입력 프롬프트가 출력된다.

ALTIBASE_NLS_USE#

데이터 검색 시 사용자에게 보여주기 위해 사용되는 문자 집합이다.

  • US7ASCII

  • KO16KSC5601

  • MS949

  • BIG5

  • GB231280

  • MS936

  • UTF8

  • SHIFTJIS

  • MS932

  • EUCJP

-NLS_USE 옵션 또는 altibase.properties파일 내의 프로퍼티를 통해서 지정할 수도 있다.

NLS_USE 설정의 우선 순위는 -NLS_USE 옵션, 환경 변수 ALTIBASE_NLS_USE, altibase.properties 파일 내의 프로퍼티 순이며 설정되지 않았을 경우에는 기본 문자 집합(US7ASCII)을 사용한다.

ALTIBASE_NLS_NCHAR_LITERAL_REPLACE#

기본적으로 클라이언트는 쿼리 문 전체를 데이터베이스 문자 셋으로 변환하여 전송한다. 그러나, 특정 리터럴에 대해 이런 동작을 막으려면, 이 환경 변수의 값을 1로 설정하고 그 리터럴 앞에 "N" 문자를 덧붙이면 된다. 즉, NCHAR 리터럴로 만드는 것이다.

이 환경 변수의 값이 1일 때, 클라이언트는 쿼리 문 내의 모든 리터럴 앞에 "N" 문자가 있는지 찾는다. 만약 찾게 되면 클라이언트는 그 리터럴을 데이터베이스 문자 셋으로 변환하지 않고 그대로 전송하며 서버가 직접 내셔널 문자 셋으로 변환한다. 이것은 데이터베이스 문자 셋과는 다른 인코딩이 필요한 NCHAR 타입 데이터를 사용하고자 할 때 유용하다.

  • 0: "N" 문자가 있는지 검사하지 않고 쿼리 문 전체를 데이터베이스 문자 셋으로 변환한다.

  • 1: "N" 문자가 붙어있는 NCHAR 리터럴은 데이터베이스 문자 셋으로 변환하지 않는다.

이 값을 1로 설정하는 것은 클라이언트의 비용이 크게 발생하므로, 사용시 주의가 필요하다.

ISQL_CONNECTION#

Altibase를 클라이언트-서버 구조로 운영할 때, 사용자는 응용 시스템의 구성에 적합한 클라이언트-서버 프로토콜을 선택하여 환경 변수를 설정할 수 있다. Altibase는 TCP/IP, IPC, IPCDA와 UNIX DOMAIN 소켓, SSL/TLS 프로토콜, 인피니밴드(Infiniband)를 제공한다. Altibase 서버와 통신하기 위한 기본값은 TCP/IP 프로토콜이다.

  • TCP
  • UNIX
  • IPC
  • IPCDA
  • SSL
  • IB

단, IPC 또는 IPCDA 프로토콜을 이용할 경우엔 Altibase 프로퍼티들 중에서 IPC 채널과 관련된 프로퍼티들의 값(IPC_CHANNEL_COUNT 또는 IPCDA_CHANNEL_COUNT)도 함께 고려해야 한다.

예: IPC 사용시 환경 변수 설정

CSH: setenv ISQL_CONNECTION IPC
SH: ISQL_CONNECTION=IPC; export ISQL_CONNECTION

주의: ISQL_CONNECTION 환경 변수의 설정 값이 UNIX 또는 IPC인 경우, -s 옵션에 원격 서버를 명시해서 iSQL을 실행하면 ISQL_CONNECTION 설정이 무시되었다는 경고 메시지와 함께 TCP로 원격 서버에 접속한다.

ISQL_BUFFER_SIZE#

쿼리를 저장할 버퍼의 크기를 환경변수를 이용하여 지정할 수 있다.

CSH: setenv ISQL_BUFFER_SIZE 128000
SH: ISQL_BUFFER_SIZE = 128000; export ISQL_BUFFER_SIZE

ALTIBASE_DATE_FORMAT#

Date 데이터 타입인 data를 select 시 기본 날짜 형식인 YYYY/MM/DD HH:MI:SS을 환경변수 ALTIBASE_DATE_FORMAT을 설정하여 새로운 날짜 형식으로 나타낼 수 있다.

예: Born, Korn, 또는 Bash Shell의 경우

export ALTIBASE_DATE_FORMAT='DD-MON-YYYY'

ISQL_EDITOR#

기본 편집기(예: /bin/vi )를 바꾸기 위한 환경변수를 설정할 수 있다.

CSH: setenv ISQL_EDITOR /usr/bin/ed
SH: ISQL_EDITOR=/usr/bin/ed; export ISQL_EDITOR

ALTIBASE_IPC_FILEPATH#

유닉스 환경에서 서버와 클라이언트가 IPC로 접속할 때 ALTIBASE_HOME이 다른 경우, 유닉스 도메인의 소켓 경로가 일치하지 않아 접속할 수 없다. 이 때 클라이언트 측의 ALTIBASE_IPC_FILEPATH 환경 변수 또는 iSQL 옵션인 -IPC-FILEPATH를 서버의 $ALTIBASE_HOME/trc/cm-ipc파일로 설정하여 서버와 클라이언트가 같은 소켓 파일을 사용하도록 하면, IPC 접속이 가능하다.

IPCDA_FILEPATH#

유닉스 환경에서 서버와 클라이언트가 IPCDA로 접속할 때 ALTIBASE_HOME이 다른 경우, 유닉스 도메인의 소켓 경로가 일치하지 않아 접속할 수 없다. 이 때 클라이언트 측의 IPCDA_FILEPATH 환경 변수 또는 iSQL 옵션인 -IPCDA -FILEPATH를 서버의 $ALTIBASE_HOME/trc/cm-ipcda파일로 설정하여 서버와 클라이언트가 같은 소켓 파일을 사용하도록 하면, IPCDA 접속이 가능하다.

ALTIBASE_TIME_ZONE#

클라이언트의 타임 존을 설정하는 환경 변수이다. 이 환경 변수에 DB_TZ를 지정하면 데이터베이스 서버와 동일한 타임 존이 사용된다.

이 환경 변수는 Asia/Seoul과 같은 타임 존의 이름이나 KST 같은 약어를 사용해서 설정할 수 있다. 또는 +09:00 같은 UTC 오프셋 값을 사용해서 설정할 수도 있다.

ALTIBASE_UT_FILE_PERMISSION#

aexport, iLoader, iSQL이 생성하는 파일들의 권한을 설정하는 공통 환경변수이다.

값을 설정하지 않으면 666 (user:rw, group:rw, other: rw)로 설정된다.

예: user:rw, group:--, other:--로 설정하는 경우,

export ALTIBASE_UT_FILE_PERMISSION=600

ISQL_FILE_PERMISSION, AEXPORT_FILE_PERMISSION, 또는 ILO_FILE_PERMISSION이 설정된 경우, ALTIBASE_UT_FILE_PERMISSION 환경 변수 보다 우선 처리된다.

예:

export ALTIBASE_UT_FILE_PERMISSION=660;
export ISQL_FILE_PERMISSION=600;

위와 같이 ALTIBASE_UT_FILE_PERMISSION 값이 660, ISQL_FILE_PERMISSION 값이 600으로 설정된 환경에서 iSQL에서 생성되는 파일의 권한은 ISQL_FILE_PERMISSION의 값이 우선적으로 적용되어 user:rw, group:--, other:--으로 설정된다. 이 때, aexport, iloader가 생성하는 파일의 권한은 여전히 ALTIBASE_UT_FILE_PERMISSION=660에 따라 user:rw, group:rw, other:--으로 설정되는 것에 유의한다.

ISQL_FILE_PERMISSION#

iSQL이 생성하는 파일 권한을 설정하는 환경 변수이다. 값을 설정하지 않으면 666(user:rw, group:rw, other: rw)으로 설정된다.

예: user:rw, group:--, other:-- 로 설정하는 경우,

export ISQL_FILE_PERMISSION=600

ISQL_SECURE_LOGIN_MSG#

보안을 강화하기 위해 iSQL에 잘못된 사용자 아이디 또는 암호로 접속을 시도할때, 상세한 접속 실패 이유를 표시하지 않도록 설정하는 환경변수이다. 값을 설정하지 않으면 0으로 설정된다.

  • 1로 설정하면 사용자 아이디 또는 암호가 틀린경우, "Invalid UserID or Password" 라는 에러메시지가 출력된다.

  • 0으로 설정하거나 환경 변수를 설정하지 않으면, 기존과 동일하게 명확한 접속 실패 이유가 출력된다.

환경 변수 설정의 예:

export ISQL_SECURE_LOGIN_MSG=1

export ISQL_SECURE_LOGIN_MSG=0