Tibero To Oracle DB Link(Listener)
Tibero To Oracle 10g
테스트 환경
OS : OEL release 7.2
Oralce : 10g Release 2
Tibero : 5SP1 FS04
- Oracle Client 설치
- OS 계정 환경설정
- GateWay 확보 및 실행
- Tibero 접속정보 설정
- Oralce 접속정보 설정
- DB Link 생성 및 사용
- DB Link 동작 과정
- 번외
Oracle Client 설치
- oracle 사이트 이용하여 서버버전(리눅스 64bit)에 맞는 Instant Client를 확보한다.
(Instant Client가 아니어도 상관은 없다. 가벼워서 사용하기 좋다.) - zip 파일로 적당한 위치에 압축을 푼다.(본 테스트에서는 OS 계정의
HOME
경로 아래로 설정하였다.)
unzip instantclient-basic-linux-x86-64-10.2.0.3-20070103.zip
OS 계정 환경설정
- Oracle의 client 홈경로(
ORACLE_HOME
) 및 Tibero Gateway 경로, Library 경로 등을 추가한다. ORACLE_HOME
경로는 위의 Client 설치 경로가 된다.- Tibero Gateway 경로는 적당한 위치로 지정한다.(본 테스트에서는 OS 계정의
HOME
경로 아래로 설정하였다.) - 본 테스트에서는 리눅스의
bash
쉘을 사용하므로$HOME/.bash_profile
을 편집한다.
- 다른 쉘을 사용하는 경우 해당 쉘의 환경파일을 편집하면 된다.(e.g.
.profile
등) - OS에 따라 Library 경로 설정이 달라진다.(e.g.
SHLIB_PATH
,LIBPATH
,LD_LIBRARY_PATH
등등)
- 다른 쉘을 사용하는 경우 해당 쉘의 환경파일을 편집하면 된다.(e.g.
- 아래와 같은 내용을 추가해 준다.(해당 OS 계정으로 재접속시 적용된다. 또는 강제적용(
. ~/.bash_profile
)한다.)
(전략)
##################ORACLE ENV##################
ORACLE_HOME=$HOME/instantclient_10_2
export ORACLE_HOME
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export LD_LIBRARY_PATH
##############GATE WAY ENV############
TBGW_HOME=$HOME/gateway
export TBGW_HOME
GateWay 확보 및 실행
- Tibero 서버에 설치된 엔진을 통해 구할 수 있다.(
$TB_HOME/client/bin
에 들어있다.) - 티맥스소프트 TECHNET에서 설치하고자 하는 엔진을 받을 수 있다.
(단, 회원가입이 필요하다.이미 Tibero를 설치하려고 가입을 했다.) gw4orcl
이라는 이름(아마도 Gateway for oracle)으로 시작하는게 Tibero의 Oracle용 Gateway다.gw4orcl
,gw4orcl_11g
,gw4orcl_10g
등의 이름으로 존재한다.
(본 테스트에서는gw4orcl_10g
를 사용한다. Oracle 버전에 맞는게 좋겠다.)- 해당 파일을 위에서 설정한
$TBGW_HOME
경로에 복사한다.
($TBGW_HOME
를$TB_HOME/client/bin
으로 해도 상관은 없으니 관리가 편한 방법을 취사선택해서 사용한다.) - 아래 명령사용 결과에
not found
등이 없으면 정상이다.
ldd $TBGW_HOME/gw4orcl_10g
linux-vdso.so.1 => (0x00007ffc543e1000)
libclntsh.so.10.1 => $HOME/instantclient_10_2/libclntsh.so.10.1 (0x00007f4eba588000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4eba286000)
libnnz10.so => $HOME/instantclient_10_2/libnnz10.so (0x00007f4eb9de3000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4eb9bdf000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4eb99c3000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4eb9602000)
libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f4eb93e9000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ebb925000)
- Gateway의 환경설정을 추가한다.
- 사용 포트, 최대 접속개수, 로그 레벨 등을 설정할 수 있으며
$TBGW_HOME/gw4orcl_10g -h
명령으로 확인 가능하다. - 아래 명령으로 설정파일 경로를 생성해 준다.
mkdir -p $TBGW_HOME/oracle/config/
$TBGW_HOME/oracle/config/tbgw.cfg
파일을 생성하여 필요한 정보를 작성한다.LISTENER_PORT
와LOG_LVL
을 설정할 것이며LISTENER_PORT
는 적당한 포트를 사용한다.
#LISTENER_PORT=$gw_port #Gateway 사용포트
LISTENER_PORT=9999 #$gw_port=9999
LOG_LVL=2
- Gateway를 실행하고 정상적으로 포트가 열렸는지 확인한다.
$TBGW_HOME/gw4orcl_10g
netstat -na | grep 9999 #$gw_port
tcp 0 0 0.0.0.0:9999 0.0.0.0:* LISTEN
Tibero 접속정보 설정
$TB_HOME/client/config/tbdsn.tbr
에 Gateway 접속정보를 설정해 준다.- 해당 정보를 사용하여
DB Link
를 생성하게 된다.
(전략)
#$ALIAS=( #Tibero의 접속정보의 별칭
# (GATEWAY=
# (LISTENER=
# (HOST=$IP) #Gateway를 실행한 서버의 IP
# (PORT=$gw_port) #Gateway 사용 포트
# )
# (TARGET=$ORA_ALIAS) #Oracle의 접속정보의 별칭- 다음단계에서 설정
# (TX_MODE=GLOBAL|LOCAL) #Transaction 모드
# )
#)
ORA_10G=(
(GATEWAY=
(LISTENER=
(HOST=127.0.0.1)
(PORT=9999)
)
(TARGET=ORA_10G)
(TX_MODE=LOCAL)
)
)
Oralce 접속정보 설정
- Oracle 서버에 접속하기위한 접속정보를 설정해준다.
$ORACLE_HOME/network/admin/
경로에 설정 파일이 위치해야 하므로 폴더 생성이 필요하다.
mkdir -p $ORACLE_HOME/network/admin/
$ORACLE_HOME/network/admin/tnsnames.ora
파일에 아래와 같이 접속정보를 작성한다.
(전략)
#$ORA_ALIAS = #Oracle의 접속정보의 별칭
# (DESCRIPTION =
# (ADDRESS = (PROTOCOL = TCP)(HOST = $ORA_IP)(PORT = $ora_port)) #Oracle 서버의 IP, 포트
# (CONNECT_DATA =
# (SERVER = DEDICATED)
# (SERVICE_NAME = $ORACLE_SID) #Oracle SID
# )
# )
ORA_10G =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.128.10)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
DB Link 생성 및 사용
- 위의 설정된 접속정보들을 토대로 Tibero DBMS내에
DATABASE LINK
객체를 생성한다.
/* -- 생성문법
* CREATE DATABASE LINK 링크명 -- 생성할 링크명
* CONNECT TO 오라클계정 -- Oracle 접속 계정
* IDENTIFIED BY '암호' -- Oracle 계정 암호
* USING '$ALIAS' ; -- Tibero 접속정보
* -- 사용방법
* SELECT * FROM 오브젝트@링크명 ;
*/
--링크 생성
CREATE DATABASE LINK ora10g
CONNECT TO scott IDENTIFIED BY 'tiger'
USING 'ORA_10G' ;
-- 사용방법
SELECT * FROM tab@ora10g ;
DB Link 동작 과정
- DB Link 구성 등에 따라 차이가 있으나 대부분 아래 단계와 큰 차이는 없다.
SELECT * FROM tab@ora10g ;
쿼리를 수행한다.- Tibero 내의
ora10g
객체가 호출되다. ora10g
의USING
절의 Tibero 접속정보를$TB_HOME/client/config/tbdsn.tbr
에서 호출한다.$TB_HOME/client/config/tbdsn.tbr
에 설정된 IP, 포트로 Gateway 접속한다.TARGET
에 설정된 Oracle 접속정보를$ORACLE_HOME/network/admin/tnsnames.ora
에서 호출한다.$ORACLE_HOME/network/admin/tnsnames.ora
에 설정된 IP, 포트, SID 등의 정보로
ora10g
의계정/암호
로 접속한다.- Oralce 서버에서
SELECT * FROM tab
를 수행한다.(쿼리에 따라 변경되는 경우도 있다.) - Tibero 서버에서 결과를 받아온다.
번외
- Tibero 접속 툴(
tbsql
)을 통해 Oracle에 직접 접속이 가능하다.(은근 편리하다.)
#tbsql Oracle_계정/암호@Tibero_접속정보
tbsql scott/tiber@ORA_10G
'Tibero > 기타' 카테고리의 다른 글
PHP와 tbOCI(Tibero OCI) 연동 (0) | 2016.06.14 |
---|---|
Tibero To Tibero DB Link (0) | 2016.06.14 |
Tibero To MS-SQL DB Link (0) | 2016.06.03 |
Tibero To Sybase DB Link (0) | 2016.06.03 |
Tibero to Oracle DB Link(Local Gateway) (0) | 2016.06.03 |
댓글