본 문서에서는 TIBERO TO ALTIBASE DBLINK를 위한 JAVA GATEWAY 설치, 설정 방법 및 DBLINK 사용법을 안내합니다.
Tibero 및 Altibase 버전 정보
- Tibero: 6 FS07_CS_2005
- Altibase: 7.1.0.8.0
1. ALTIBASE DBLINK
ATLIBASE는 MS-SQL SERVER, Sybase ASE와 같이 JAVA GATEWAY를 통해 TIBERO RDBMS에서 제공하는 DBLINK 기능을 사용할 수 있습니다. ALTIBASE DBLINK는 하단의 그림과 같은 단계를 통해 사용자가 요청한 쿼리 결과를 출력합니다.

2. JAVA Gateway
2.1. JAVA Gateway 설치
2.1.1. JAVA Gateway 파일 압축 해제
Java gateway를 원하는 경로에 복사한 후 압축을 해제합니다.
- Java gateway 파일 위치 : $TB_HOME/client/bin/tbJavaGW.zip
압축 해제 시 tbJavaGW 디렉토리가 생성되며, 디렉토리 내 파일을 아래와 같습니다.
$ tree tbJavaGW
tbJavaGW
├── jgw.cfg
├── jgw_service.bat
├── jgwlog.properties
├── lib │
├── commons-collections.jar
│ ├── commons-daemon-1.0.6.jar
│ ├── commons-pool.jar
│ ├── log4j-1.2.15.jar
│ └── tbgateway.jar
└── tbgw
2.1.2. JDBC관련 jar 파일 추가
ALTIBASE의 JDBC관련 jar 파일인 Altibase.jar을 tbJavaGW/lib 경로 아래에 복사합니다.
Note!
본문에서는 ALTIBASE server에서 Altibase.jar을 찾아 Tibero server의 tbJavaGW/lib 아래에 추가했습니다.
sftp/scp 사용 : /home/altibase/altibase_home/lib/Altibase.jar -> $TB_HOME/client/bin/tbJavaGW/lib/Altibase.jar
- Altibase server의 jar 파일 위치
[altibase@ ~]$ locate Altibase.jar
/home/altibase/altibase_home/lib/Altibase.jar
- Tibero server의 tbJavaGW/lib 위치
[tibero1@ ~]$ locate tbJavaGW/lib
/home/tibero1/tibero6/client/bin/tbJavaGW/lib
2.1.3. tbgw에 파라미터(환경변수) 추가
tbgw 파일에 파라미터의 설정 값을 명시함으로써 gateway와 관련된 설정을 변경합니다.
tbgw 내역
#! /bin/sh
#Classpath
commonsdaemon=./lib/commons-daemon-1.0.6.jar
commonspool=./lib/commons-pool.jar
commonscollections=./lib/commons-collections.jar
log4j=./lib/log4j-1.2.15.jar
msjdbc=./lib/sqljdbc.jar:./lib/sqljdbc4.jar
asejdbc=./lib/jconn3.jar
postgresqljdbc=./lib/postgresql-8.4-701.jdbc3.jar
gateway=./lib/tbgateway.jar
altijdbc=./lib/Altibase.jar
#log4j properties
#log4jfile must be exists on classpath
log4jfile=jgwlog.properties
#Main Class
mainclass=com.tmax.tibero.gateway.main.GatewayMain
configfile=./jgw.cfg
if [[ $# -gt 0 ]] && [[ $1 = “-v” ]] ; then
java -jar $gateway
else
java -Xms128m -Xmx512m -Dlog4j.configuration=$log4jfile -classpath
$commonsdaemon:$commonspool:$commonscollections:$log4j:$gateway:$altijdbc:$msjdbc:$asejdbc:$postgresqljdbc:. $mainclass CONFIG=$configfile $* &
sleep 1
fi
2.1.4. tbgw 파일 실행권한 부여
tbJavaGW 내부에 있는 tbgw 파일에 실행 권한을 부여합니다.
$chmod +x tbgw
2.1.5. jgw.cfg 파일 설정 변경
jgw.cfg 내의 DATABASE, DATASOURCE_CLASS_NAME 파라미터를 변경합니다.
DATASOURCE_CLASS_NAME을 확인하는 방법은 2가지가 있습니다.
확인방법1: Altibase homepage의 DATASOURCE 설정 가이드 확인
https://docs.altibase.com/pages/viewpage.action?pageId=7340956
확인방법2: Altibase.jar의 압축 파일을 해제한 후 확인
Altibase.jar로 DATASOURCE 확인
$ jar -xvf Altibase.jar # jar 압축파일 내의 CLASS들을 확인하기 위하여 해제
$ ls –arlt # META-INF, Altibase 디렉토리 생성됨 확인
drwxr-xr-x. 3 tibero1 dba 41 9월 18 17:17 META-INF
drwxr-xr-x. 3 tibero1 dba 18 11월 2 14:51 Altibase
$ cd ./Altibase/jdbc/driver
$ ls -arlt | grep DataSource
-rw-r–r–. 1 tibero1 dba 6770 9월 18 17:17 AltibaseDataSource.class
-rw-r–r–. 1 tibero1 dba 1681 9월 18 17:17 AltibaseXADataSource.class
-rw-r–r–. 1 tibero1 dba 3851 9월 18 17:17 AltibaseDataSourceManager.class
-rw-r–r–. 1 tibero1 dba 1848 9월 18 17:17 AltibaseDataSourceFactory.class
-rw-r–r–. 1 tibero1 dba 1703 9월 18 17:17
AltibaseConnectionPoolDataSource.class
jgw.cfg 내역_간소화
# Target database 설정
DATABASE=ALTIBASE
# Datasource class name for target database DATASOURCE_CLASS_NAME=Altibase.jdbc.driver.AltibaseConnectionPoolDataSource
# Listener port
LISTENER_PORT=9093
# Initial thread pool size
INIT_POOL_SIZE=10 # Max thread pool size
MAX_POOL_SIZE=100
# Max cursor cache size per thread
MAX_CURSOR_CACHE_SIZE=100
# Gateway Encoding-“ASCII”, “EUC-KR”, “MSWIN949”, “UTF-8”, “UTF-16”, “SHIFT-JIS” ENCODING=MSWIN949
# Max length for Types.LONGVARCHAR
MAX_LONGVARCHAR=4K
# Max length for Types.LONGRAW
MAX_LONGRAW=4K
☞ “[Tibero] Tibero to Altibase DBLink 가이드 (2)”에서 계속됩니다.