기술 정보
home
채널 소개
home

Oracle instance DB LINK 생성 및 연결 방법 (Oracle to Tibero)

문서 유형
기술 정보
분야
관리/환경설정
키워드
dblink
적용 제품 버전
6FS07

개요

Tibero에서 버전이 다른 두 Oracle instance DB LINK 생성 방법과 연결하는 방법을 안내합니다.
아래와 같이 2 NODE DBLINK 구성 방법을 안내합니다.
Tibero
(gateway 1) → Oracle node 1
(gateway 2) → Oracle node 2

방법

주의
Tibero 6 FS07 CS_2005 build 267039 버전 기준으로 작성되어있습니다.
Tibero 버전에 따라 설정 방법이 상이할 수 있습니다.
Gateway는 모두 Tibero 서버에서 기동하기 때문에 Oracle 서버에서 IP, Port, DB NAME, Service Name 확인이 필요합니다.

1. 각 Oracle 버전에 맞는 client 설치 구성

아래 예시는 11g, 12c 버전으로 진행한 내용입니다.
Oracle instant client 다운로드 후, Tibero 서버에 압축 해제합니다.
압축 해제 경로는 $ORACLE_HOME 경로로 사용됩니다.

2. 각 버전에 맞는 환경 변수 설정을 위한 profile 작성

각 버전의 TBGW_HOME, ORACLE_HOME, PATH 설정합니다.
Oracle 11g 버전 profile 작성 예시
vi ~/.11g_profile export TB_HOME=/home/test/tibero6 export TBGW_HOME=/home/test/tibero_test/tbgateway_11g export ORACLE_HOME=/home/test/tibero_test/instantclient_11_2 export LD_LIBRARY_PATH=.:$TB_HOME/lib:$TB_HOME/client/lib:$ORACLE_HOME:$LD_LIBRARY_PATH export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$ORACLE_HOME:$PATH
SQL
복사
Oracle 12c 버전 profile 작성 예시
vi ~/.12c_profile export TB_HOME=/home/test/tibero6 export TBGW_HOME=/home/test/tibero_test/tbgateway_12c export ORACLE_HOME=/home/test/tibero_test/instantclient_12_2 export LD_LIBRARY_PATH=.:$TB_HOME/lib:$TB_HOME/client/lib:$ORACLE_HOME:$LD_LIBRARY_PATH export PATH=.:$TB_HOME/bin:$TB_HOME/client/bin:$ORACLE_HOME:$PATH
SQL
복사

3. TBGW_HOME 디렉토리 생성 및 gateway 기동

gateway 기동 시 포트가 충돌하지 않도록 주의하여 설정합니다. gateway는 기동 시 config 기재된 LISTENER_PORT, LISTENER_PORT+1 포트를 사용합니다. (ex. LISTENER_PORT=8910 기재 시 8910, 8911 포트 사용)
gateway 기동은 각 버전에 맞는 profile 적용 후 진행합니다. gateway 파일은 $TB_HOME/client/bin 디렉토리에 존재하며, 버전에 맞게 TBGW_HOME 경로로 COPY ldd 명령어로 library가 정상적으로 잡혔는지 확인 후 기동합니다.
Oracle 11g 버전 설정
#. 11g profile 적용 source ~/.11g_profile #. gateway 홈 디렉토리 설정 (profile에 기재한 TBGW_HOME) mkdir -p /home/test/tibero_test/tbgateway_11g #. gateway home으로 11g 버전의 gateway copy cp $TB_HOME/client/bin/gw4orcl_11g $TBGW_HOME/ cd $TBGW_HOME ldd gw4orcl_11g => not found 발생하지 않는지 확인 mkdir -p $TBGW_HOME/oracle/log mkdir -p $TBGW_HOME/oracle/config #. 11g gateway config 설정 vi $TBGW_HOME/oracle/config/tbgw.cfg LISTENER_PORT=8910 LOG_DIR=/home/test/tibero_test/tbgateway_11g/oracle/log #. 로그 경로 절대 경로로 입력해야 gateway 기동 가능함 #. gateway 기동 ./gw4orcl_11g
SQL
복사
Oracle 12c 버전 설정
#. 12c_profile 적용 source ~/.12c_profile #. gateway 홈 디렉토리 설정 (profile에 기재한 TBGW_HOME) mkdir -p /home/test/tibero_test/tbgateway_12c #. gateway home으로 12c 버전의 gateway copy cp $TB_HOME/client/bin/gw4orcl_12c $TBGW_HOME/ cd $TBGW_HOME ldd gw4orcl_12c => not found 발생하지 않는지 확인 mkdir -p $TBGW_HOME/oracle/log mkdir -p $TBGW_HOME/oracle/config #. 12c gateway config 설정 vi $TBGW_HOME/oracle/config/tbgw.cfg LISTENER_PORT=8900 LOG_DIR=/home/test/tibero_test/tbgateway_12c/oracle/log #. 로그 경로 절대 경로로 입력해야 gateway 기동 가능함 #. gateway 기동 ./gw4orcl_12c
SQL
복사

4. tbdsn.tbr 파일 설정

이 예시에서 gateway는 Tibero 서버에서 기동하기 때문에 tbdsn.tbr에는 HOST를 localhost / PORT는 각 gateway config에서 설정한 LISTENER_PORT로 설정합니다.
vi $TB_HOME/client/config/tbdsn.tbr oracle_11g=( (GATEWAY= (LISTENER=(HOST=localhost) (PORT=8910)) #. 각 버전의 gateway로 기재 (TARGET=ORCL) (TX_MODE=GLOBAL) ) ) oracle_12c=( (GATEWAY= (LISTENER=(HOST=localhost) (PORT=8900)) #. 각 버전의 gateway로 기재 (TARGET=ORCL) (TX_MODE=GLOBAL) ) )
SQL
복사

5. tnsname.ora 설정

$ORACLE_HOME/network/admin/tnsnames.ora 생성합니다.
위 파일에는 oracle 서버 ip 및 port, service name 기재가 필요합니다.
각 Oracle instance의 ip / port / service name 기재 예시
[DB NAME] = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = [ORACLE IP])(PORT = [LISTENER PORT])) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = [SERVICE_NAME]) ) )
SQL
복사
Oracle 11g 버전 설정
source ~/.11g_profile vi $ORACLE_HOME/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XX.XX)(PORT = xxxxx)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
SQL
복사
Oracle 12c 버전 설정
source ~/.12c_profile vi $ORACLE_HOME/network/admin/tnsnames.ora ORCL = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.XX.XX)(PORT = xxxxx)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
SQL
복사

6. dblink 생성

$ tbsql tibero/tmax SQL> create database link ora11 connect to [remote db user name] identified by '[user password]' using 'oracle_11g'; Database Link 'ORA11' created. SQL> select * from dual@ora11; DUMMY ----- X 1 row selected. SQL> create database link ora12 connect to [remote db user name] identified by '[user password]' using 'oracle_12c'; Database Link 'ORA12' created. SQL> select * from dual@ora12; DUMMY ----- X 1 row selected.
SQL
복사