개요
Tibero DB에서 Oracle로 DBLink를 설정 방법을 안내합니다.
•
Oracle Instant Client 설치 후 Tibero 서버에 Gateway 구성
•
Tibero DB에서 Oracle로 DBLink를 설정 시, Oracle Instant Client 설치 및 Tibero 서버에 Gateway 구성
방법
사전 확인 및 설정
1.
listener.ora 설정 (listner 이름은 동일하게 설정)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=orcl)
(ORACLE_HOME=/home/oracle/db/product/11.2.0/dbhome_1)
)
)
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.58.130)(PORT=1521))
)
)
SQL
복사
2.
tnsnames.ora 설정
ORA =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.58.130)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
LISTENER_ORA =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.58.130)(PORT = 1521))
SQL
복사
3.
listener 재 기동
$ lsnrctl stop
$ lsnrctl start
SQL
복사
[Tibero 서버] Oracle Client 설치
1.
Oracle Client 디렉토리 생성
$ mkdir /home/tibero/oracle
$ chmod -R 777 /home/tibero/oracle
SQL
복사
2.
Oracle 버전에 맞는 Instant Client 설치 및 압축 해제
$ unzip instantclient-basic-linux.x64-19.21.0.0.0dbru.zip
SQL
복사
3.
tibero OS 계정에서 .bash_profile 설정
$ vi ~/.bash_profile
#. Oracle config
export ORACLE_HOME=/home/tibero/oracle/instantclient_19_21
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=KOREAN_KOREA.UTF8
#.---- TIBERO config
export TB_HOME=/home/tibero/tibero7
export TB_SID=tibero
export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$JAVA_HOME/bin:$ORACLE_HOME:$PATH
export LD_LIBRARY_PATH=$TB_HOME/lib:$TB_HOME/client/lib:$LD_LIBRARY_PATH:$ORACLE_HOME:$LD_LIBRARY_PATH
export TBGW_HOME=$TB_HOME/client/gateway
SQL
복사
설정 적용
$ source ~/.bash_profile
SQL
복사
4.
tnsnames.ora 파일 생성
$ mkdir -p $ORACLE_HOME/network/admin
$ vi $ORACLE_HOME/network/admin/tnsnames.ora
ORA=
(DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.58.130)(PORT=1521))
(CONNECT_DATA=
(SERVER=DEDICATED)
(SERVICE_NAME=orcl)
)
)
SQL
복사
5.
Tibero Gateway 파일을 $TBGW_HOME으로 복사
$ cp $TB_HOME/client/bin/gw4orcl $TBGW_HOME/
SQL
복사
참고
tibero7부터 gw4orcl 파일 하나로 통합되어 제공됩니다.
6.
$TBGW_HOME/oracle/config 디렉토리 생성 및 tbgw.cfg 파일 생성
$ mkdir -p $TBGW_HOME/oracle/config
$ vi $TBGW_HOME/oracle/config/tbgw.cfg
LISTENER_PORT=9999
LOG_DIR=/home/tibero/tibero7/client/gateway/oracle/log
LOG_LVL=2
SQL
복사
주의
LOG_DIR을 절대 경로로 설정하지 않으면 gateway 비정상 종료 문제 발생할 수 있습니다.
7.
tbdsn.tbr 파일 수정
$ vi $TB_HOME/client/config/tbdsn.tbr
oracle=(
(GATEWAY=
(LISTENER=(HOST=localhost)(PORT=9999))
(TARGET=ORA)
(TX_MODE=GLOBAL)
)
)
SQL
복사
8.
Gateway 라이브러리 확인
$ cd $TBGW_HOME
$ ls
gw4orcl oracle
SQL
복사
라이브러리 연결 확인
Oracle Instant Client 라이브러리 정상 연결 확인이 필요합니다.
$ ldd gw4orcl
linux-vdso.so.1 => (0x00007ffc0cf92000)
libclntsh.so.19.1 => /home/tibero/oracle/instantclient_19_21/libclntsh.so.19.1 (0x00007fa2fcd70000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007fa2fcb6c000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fa2fc950000)
libm.so.6 => /lib64/libm.so.6 (0x00007fa2fc64e000)
libc.so.6 => /lib64/libc.so.6 (0x00007fa2fc280000)
libnnz19.so => /home/tibero/oracle/instantclient_19_21/libnnz19.so (0x00007fa2fbc07000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007fa2fb9ed000)
librt.so.1 => /lib64/librt.so.1 (0x00007fa2fb7e5000)
libaio.so.1 => /lib64/libaio.so.1 (0x00007fa2fb5e3000)
libresolv.so.2 => /lib64/libresolv.so.2 (0x00007fa2fb3c9000)
/lib64/ld-linux-x86-64.so.2 (0x00007fa300f7f000)
libclntshcore.so.19.1 => /home/tibero/oracle/instantclient_19_21/libclntshcore.so.19.1 (0x00007fa2fae24000)
SQL
복사
9.
Gateway 실행 및 접속 확인
Gateway 실행
$ ./gw4orcl
$ ps -ef| grep gw4
tibero 13883 1 0 06:54 ? 00:00:00 ./gw4orcl
tibero 35737 10765 0 13:36 pts/0 00:00:00 grep --color=auto gw4
SQL
복사
DBLink 접속 테스트
$ tbsql tibero/tmax@oracle
tbSQL 7
TmaxTibero Corporation Copyright (c) 2020-. All rights reserved.
Connected to ORACLE GATEWAY using oracle.
SQL> select * from dual;
DUMMY
-----
X
1 row selected.
SQL
복사