문서유형ㅣ기술정보
분야ㅣ 설치
적용제품버전ㅣ 7FS01, 7FS02, 7FS02PS
문서번호ㅣ TINTI011
개요
Tibero에서 Oracle DB로의 DBLINK 사용 시, Tibero에서 제공하는 Gateway를 Oracle 서버에 설치하여 연동하는 방안에 대해 기술하였습니다.
Tibero to Oracle DBLINK 사용 시 Gateway 설치 방안은 아래와 같이 두 가지가 있으며,
이 중 2번째 방안에 대하여 안내합니다.
이 중 2번째 방안에 대하여 안내합니다.
- Tibero 서버에 Gateway 설치
- Oracle 서버에 Gateway 설치
참고
해당 게시글은 Tibero 7, Oracle 12c 기준으로 작성되었습니다.
방법
1. [Oracle 서버] Gateway 실행 환경 구성
Tibero에서 제공하는 gateway 를 Oracle 서버로 복사합니다.
$ mkdir tibero $ cd tibero $ ls gw4orcl_12c
필요한 라이브러리를 확인합니다.
$ 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)
2. [Oracle 서버] TBGW_HOME 환경 변수 추가 및 게이트웨이 실행
$ vi ~/.bash_profile ------------------------------------ # Tibero export TB_HOME=/home/oracle/tibero export TBGW_HOME=$TB_HOME/client/gateway ------------------------------------
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 ------------------------------------
게이트웨이를 실행합니다.
$ ./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
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) ) ) ------------------------------------
환경 변수 설정은 /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
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.
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.
5. 영문/한글 조회 테스트
영문 데이터 조회 결과입니다.
SQL> select * from en@ora_remote; NAME ---------- JY TEST DATA 3 rows selected.
한글 데이터 조회 결과입니다.
SQL> select * from hangul@ora_remote; NAME ---------- 한글 데이터 테스트 3 rows selected.