문서유형ㅣ기술정보
분야ㅣ인터페이스/연동
적용제품버전ㅣ7FS02PS
문서번호ㅣTIITI066
개요
Linux 환경에서 Tibero Gateway를 이용해 Tibero 서버와 Oracle Database를 연동하고, DBLINK를 구성하여 Tibero에서 Oracle 데이터에 접속하는 방법을 안내합니다.
방법
1. Oracle 환경설정(Tibero 서버에 모두 설정, Oracle 수정 없음)
1.1 Oralce Instance Client
무료, 간편하게 로컬 또는 원격 Oracle Database에 클라이언트 애플리케이션을 구축할 수 있습니다.
원격지의 Oracle 서버에 연결하기 위해서 아래의 사이트에서 다운 받아 설치하십시오.
아래의 위치에서 다운 받으십시오.
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
※ 사이트 리뉴얼로 인해 경로는 변경될 수 있습니다.
※ 본 메뉴얼에서는 LINUX OS를 기반으로 하였습니다.
Oracle서버의 버전을 확인하여 동일한 버전의 ‘instantclient’ 를 다운로드 받아야 합니다.
psdblcbp:/sdiskc/oracle> sqlplus "/as sysdba"
SQL*Plus: Release 19.0.0.0.0 - Production on 수 12월 10 13:35:17 2025
Version 19.3.0.0.0
Copyright (c) 1982, 2019, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0
‘Oracle instantclient’ 의 압축을 풉니다. ‘$TB_HOME’이 ‘/home/tibero/tibero7’ 와 같다면 ‘/home/tibero/’ 경로에 압축을 해제 합니다. 되도록 Tibero 엔진 밖으로 설치해 줍니다.
[ps1@psdblcbp:/home/tibero]$ unzip instantclient-basic-linux.x64-19.21.0.0.0dbru.zip Archive: instantclient-basic-linux.x64-19.21.0.0.0dbru.zip
다운 받은 파일의 압축을 푼 내용은 아래와 같습니다.
[ps1@psdblcbp:/home/tibero/instantclient_19_21]$ ls adrci genezi libclntsh.so.10.1 libclntsh.so.18.1 libmql1.so libocci.so.10.1 libocci.so.18.1 libocijdbc19.so ojdbc8.jar xstreams.jar BASIC_LICENSE libclntshcore.so.19.1 libclntsh.so.11.1 libclntsh.so.19.1 libnnz19.so libocci.so.11.1 libocci.so.19.1 liboramysql19.so ucp.jar BASIC_README libclntsh.so libclntsh.so.12.1 libipc1.so libocci.so libocci.so.12.1 libociei.so network uidrvci
현재 문서에서 구성하려고 하는 구성도 입니다
※ Tibero to Oracle의 DBLINK를 구성하는 보편적인 방법입니다.
※ 현 구성에서는 Oracle 서버에 추가 변경 및 설치할 내용이 없습니다.
Tibero 서버에서 게이트웨이 기동에 필요한 디렉토리 생성합니다.
mkdir /home/tibero/tbgateway/
mkdir /home/tibero/tbgateway/oracle
mkdir /home/tibero/tbgateway/oracle/config
mkdir /home/tibero/tbgateway/oracle/log
vi /home/tibero/tbgateway/oracle/config/tbgw.cfg
/home/tibero/tbgateway/oracle/config/tbgw.cfg 의 내용 입니다.
[ps1@psdblcbp:/home/tibero/tbgateway/oracle/config]$ cat tbgw.cfg LISTENER_PORT=9998 LOG_DIR=/home/tibero/tbgateway/oracle/log LOG_LVL=2
2. TIBERO 환경설정
2.1 TIBERO Gateway DBLINK 구성
게이트웨이 파일을 복사합니다. 게이트웨이 파일의 경로는 ‘$TB_HOME/client/bin’ 에 존재 합니다.
[ps1@psdblcbp:/home/tibero/tibero7/client/bin]$ ls -al | grep gw4orcl -rwxr-xr-x. 1 ps1 psall 32118008 Apr 9 2025 gw4orcl ※ Oracle 서버 버전에 맞게 선택해야 하지만 Tibero7 부터는 gateway 가 하나로 통일 되었습니다. cp -r /home/tibero/tibero7/client/bin/gw4orcl /home/tibero/tbgateway($TBGW_HOME)
Tibero가 설치된 계정에서 .profile 에 아래와 같은 형태로 환경설정을 해줍니다.
######## TIBERO TO ORACLE DBLINK ####### export TBGW_HOME=/home/tibero/tbgateway export ORACLE_HOME=/home/tibero/instantclient_19_21 export ORACLE_SID=orcl ## Oracle DB NAME export LIBPATH=$ORACLE_HOME:$LIBPATH export LD_LIBRARY_PATH=$LIBPATH:$LD_LIBRARY_PATH export PATH=$ORACLE_HOME:$PATH
Tibero 서버에서 Oracle 서버로 접근하기 위해서 아래와 같이 tnsnames.ora 를 만들어 줍니다.
[ps1@psdblcbp:/home/tibero/instantclient_19_21]$ mkdir -p network/admin [ps1@psdblcbp:/home/tibero/instantclient_19_21]$ cd network/admin/ [ps1@psdblcbp:/home/tibero/instantclient_19_21/network/admin]$ vi tnsnames.ora ※ /home/tibero/instantclient_19_21= $ORACLE_HOME 과 같습니다. ※ tnsnames.ora 는 instantclient 에 존재하지 않기 때문에 직접 만들어야 합니다
$ORACLE_HOME/network/admin/tnsnames.ora 의 내용 입니다.
oralink = ## (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.188)(PORT = 1525)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) ) ## oralink = DBLINK 명(ex : select * from dual@oralink) ## HOST = Oracle 서버의 IP ## PORT = Oracle 서버의 Port ## SERVICE_NAME = 오라클 서버의 Service 명
$TB_HOME/client/config/tbdsn.tbr 추가할 내용입니다.
MOF = (
(GATEWAY =
(LISTENER = (HOST=192.168.1.186)(PORT=9998))
(TARGET=oralink)
(TX_MODE=GLOBAL)
)
)
## MOF = Oralce 서버로 접근되는 Alias 명
## HOST = TIBERO 서버의 IP, gw4orcl 이 기동되어야 하는 서버의 IP
## PORT = tbgw.cfg에 명시된 Port를 통해서 tnsnames.ora에 전달됨
## TARGET = DBLINK 이름, tnsnames.ora와 연결됨
2.2 gw4orcl ldd 확인(링크상태 확인)
Tibero 서버에서 아래의 상태가 ‘not found’ 되지 않는지 점검합니다.
[ps1@psdblcbp:/home/tibero]$ cd $TBGW_HOME
[ps1@psdblcbp:/home/tibero/tbgateway]$ ldd gw4orcl
linux-vdso.so.1 => (0x00007ffccc1d2000)
libclntsh.so.19.1 => /home/tibero/instantclient_19_21/libclntsh.so.19.1 (0x00007f64b0b98000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f64b097d000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f64b0761000)
libm.so.6 => /lib64/libm.so.6 (0x00007f64b045f000)
libc.so.6 => /lib64/libc.so.6 (0x00007f64b0090000)
libnnz21.so => /home/tibero/instantclient_19_21/libnnz19.so (0x00007f64afa1b000)
librt.so.1 => /lib64/librt.so.1 (0x00007f64af813000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007f64af610000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f64af3f6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f64b4f74000)
libclntshcore.so.21.1 => /home/tibero/instantclient_19_21/libclntshcore.so.19.1 (0x00007f64aee46000)
※ Linux : LD_LIBRARY_PATH AIX : LIBPATH HP-UX : SHLIB_PATH
2.3 서비스시작
Tibero Gateway를 시작합니다. Tibero 와 별도로 실행됩니다. Tibero를 종료하더라도 종료되지 않습니다.
[ps1@psdblcbp:/home/tibero]$ cd $TBGW_HOME [ps1@psdblcbp:/home/tibero/tbgateway]$ ls -al [ps1@psdblcbp:/home/tibero/tbgateway]$ ls -al | grep gw4orcl -rwxr-xr-x. 1 ps1 psall 31775712 Apr 11 2025 gw4orcl [ps1@psdblcbp:/home/tibero/tbgateway]$ ./gw4orcl [ps1@psdblcbp:/home/tibero/tbgateway]$ ps -ef | grep gw4orcl ps1 11269 1 0 Apr11 ? 00:00:15 ./gw4orcl ps1 27231 11744 0 15:35 pts/17 00:00:00 grep --color=auto gw4orcl ※ gateway 프로세스를 정지할 땐 kill -9 pid 명령어로 수행합니다.
3. DBLINK 테스트
3.1 TIBERO tbsql 테스트
tbsql 을 통해 Oracle 서버의 schema에 접근한 모습입니다.
[ps1@psdblcbp:/home/tibero/tbgateway]$ tbsql scott/tiger@MOF tbSQL 7 TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. Connected to ORACLE GATEWAY using MOF.
tbsql sys 접속을 통해 user를 생성하고 해당 user가 ‘create database link’ 를 수행할 수 있는 권한을 주는 것입니다.
[ps1@psdblcbp:/home/tibero/tbgateway]$ tbsql sys/tibero tbSQL 7 TmaxTibero Corporation Copyright (c) 2020-. All rights reserved. Connected to Tibero. SQL> create user mofdb identified by 'mofdb'; User 'MOFDB' created. SQL> grant connect, resource to mofdb; Granted. SQL> grant create database link to mofdb; ※ 계정이 존재한다면 위 sql만 수행하면 되겠습니다. Granted. SQL> conn mofdb/mofdb Connected to Tibero.
본 문서에서는 Oracle 의 scott 계정을 활용하여 db_link를 생성하였습니다.
SQL> conn mofdb/mofdb Connected to Tibero. SQL> create database link oralink connect to scott identified by "tiger" using 'MOF'; Database Link 'ORALINK' created. SQL> select * from user_db_links; OWNER DB_LINK USERNAME HOST CREATED -------------------- ----------- ------------ ----------- -------------- MOFDB ORALINK SCOTT MOF 2025/12/10 1 row selected.
db link 접속 테스트입니다.
[ps1@psdblcbp:/home/tibero/tbgateway]$ tbsql mofdb/mofdb SQL> select * from dual@oralink; DUMMY ----- X 1 row selected.
4. 참고자료
4.1 DBLINK 삭제방법
Tibero에서 DB_LINK를 삭제하는 방법입니다.
SQL> drop database link oralink; Database Link 'ORALINK' dropped. SQL> select * from user_db_links; 0 row selected.
4.2 Tibero & Oracle 버전
| Tibero Version | Oracle Version |
| Tibero 7.2.4 | Oracle Database 19c |