[운영 종료] TmaxTibero Tech Blog

티맥스티베로 공식 블로그는 https://tmaxtibero.blog/ 로 이전되었습니다.

티맥스티베로 공식 블로그 이전 자세히보기

인터페이스, 연동

[Tibero] Tibero to Altibase DBLink 가이드 (1)

TmaxTiberotech 2023. 7. 18. 17:11

본 문서에서는 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는 하단의 그림과 같은

단계를 통해 사용자가 요청한 쿼리 결과를 출력합니다.

그림1. 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:$postgresqljd
bc:. $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 설정 가이드 확인

 

4. DATASOURCE 설정 - Technical Documents(한국어) -

Technical Documents(한국어) Home Altibase Spring 연동 가이드 4. DATASOURCE 설정 Skip to end of metadata Go to start of metadata Spring에서 DB와 연동하기 위해서는 bean 설정 파일에 DataSource 관련 bean을 설정해야 한다. Icon

docs.altibase.com

 

확인방법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