개요
Tibero에서 Oracle DB로의 DBLINK 사용 시, Tibero에서 제공하는 Gateway를 Oracle 서버에 설치하여 연동하는 방안에 대해 기술하였습니다.
Tibero to Oracle DBLINK 사용 시 Gateway 설치 방안은 두 가지 중 2번째 방안에 대하여 안내합니다.
•
Tibero 서버에 Gateway 설치
•
Oracle 서버에 Gateway 설치
참고
해당 게시글은 Tibero 7, Oracle 12c 기준으로 작성되었습니다.
방법
1. [Oracle 서버] Gateway 실행 환경 구성
Tibero에서 제공하는 gateway 를 Oracle 서버로 복사합니다.
$ mkdir tibero
$ cd tibero
$ ls
gw4orcl_12c
SQL
복사
필요한 라이브러리를 확인합니다.
$ ldd gw4orcl_12c
linux-vdso.so.1 (0x00007ffed11b1000)
libclntsh.so.12.1 => /home/oracle/db/product/12.1.0/dbhome_1/lib/libclntsh.so.12.1 (0x00007fd226c79000)
libm.so.6 => /lib64/libm.so.6 (0x00007fd2268f7000)
libnnz12.so => /home/oracle/db/product/12.1.0/dbhome_1/lib/libnnz12.so (0x00007fd2261ae000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fd225faa000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fd225d8a000)
libons.so => /home/oracle/db/product/12.1.0/dbhome_1/lib/libons.so (0x00007fd225b3c000)
libclntshcore.so.12.1 => /home/oracle/db/product/12.1.0/dbhome_1/lib/libclntshcore.so.12.1 (0x00007fd22556f000)
libipc1.so => /home/oracle/db/product/12.1.0/dbhome_1/lib/libipc1.so (0x00007fd22513c000)
libmql1.so => /home/oracle/db/product/12.1.0/dbhome_1/lib/libmql1.so (0x00007fd224ec5000)
libc.so.6 => /lib64/libc.so.6 (0x00007fd224b00000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fd2248e7000)
librt.so.1 => /lib64/librt.so.1 (0x00007fd2246df000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007fd2244dc000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fd2242c5000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd22a713000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fd2240ad000)
SQL
복사
2. [Oracle 서버] TBGW_HOME 환경 변수 추가 및 게이트웨이 실행
$ vi ~/.bash_profile
------------------------------------
# Tibero
export TB_HOME=/home/oracle/tibero
export TBGW_HOME=$TB_HOME/client/gateway
------------------------------------
SQL
복사
tbgw.cfg 파일을 생성합니다.
$ cd /home/oracle/tibero/client/gateway/oracle/config
$ mkdir config
$ cd config/
$ vi tbgw.cfg
------------------------------------
LISTENER_PORT=9999
LOG_DIR=/home/oracle/tibero/client/gateway/oracle/log
LOG_LVL=2
------------------------------------
SQL
복사
게이트웨이를 실행합니다.
$ ./gw4orcl_12c
$ ps -ef | grep gw4orcl_12c
oracle 3723 1 0 14:01 ? 00:00:00 ./gw4orcl_12c
oracle 3739 1529 0 14:01 pts/0 00:00:00 grep --color=auto gw4orcl_12c
SQL
복사
3. [Tibero 서버] 접속 설정
Tibero 접속 설정은 $TB_HOME/client/config/tbdsn.tbr 경로에 위치한 tbdsn.tbr 파일을 통해 구성합니다.
$ vi tbdsn.tbr
------------------------------------
# LISTENER 정보는 게이트웨이가 존재하는 서버의 IP 입력
oracle_remote=(
(GATEWAY=
(LISTENER=(HOST=192.168.11.11)(PORT=9999))
(TARGET=ORA)
(TX_MODE=GLOBAL)
)
)
------------------------------------
SQL
복사
환경 변수 설정은 /home/{Tibero OS User}/.bash_profile 파일을 통해 구성합니다.
#---- TIBERO ENV
export TB_HOME=/home/tibero/tibero6
export TB_SID=tibero
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$JAVA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH
SQL
복사
4. [Tibero 서버] DBLink 생성 및 접속
Oracle에 존재하는 User/Passwd를 사용하여 alias로 접속합니다.
$ tbsql tibero/tmax@oracle_remote
tbSQL 6
TmaxData Corporation Copyright (c) 2008-. All rights reserved.
Connected to ORACLE GATEWAY using oracle_remote.
SQL> select table_name from user_tables;
TABLE_NAME
--------------------------------------------------------------------------------
T
REGIONS
COUNTRIES
LOCATIONS
4 rows selected.
SQL
복사
DBLINK를 생성하여 접속합니다.
SQL> create database link tibero_link connect to tibero identified by 'tmax' using 'oracle_remote';
Database Link 'TIBERO_LINK' created.
SQL> select * from dual@tibero_link;
DUMMY
-----
X
1 row selected.
SQL
복사
5. 영문/한글 조회 테스트
영문 데이터 조회 결과입니다.
SQL> select * from en@ora_remote;
NAME
----------
JY
TEST
DATA
3 rows selected.
SQL
복사
한글 데이터 조회 결과입니다.
SQL> select * from hangul@ora_remote;
NAME
----------
한글
데이터
테스트
3 rows selected.
SQL
복사