기술 정보
home
채널 소개
home

DBLink 사용 시 제약사항과 연결과정 (Tibero to Oracle DBLink)

문서 유형
기술 정보
분야
인터페이스/연동
키워드
dblink
tiberotooracle
적용 제품 버전
7FS02PS

개요

Tibero 서버에서 DBLink를 통해, 다른 DBMS(예: Oracle DB)에 질의를 요청하고 결과를 조회할 수 있습니다. 질의를 요청하고 결과를 Tibero 서버에서 조회하는 방법에 대해 안내합니다.
Tibero to Oracle DBLink 사용 시, Tibero 서버에서 Oracle Client의 설치, 관리가 용이합니다.

방법

DBLink 관련 주요 View

View
설명
V$DBLINK
해당 세션에서 원격 DB에 연결된 데이터베이스 링크 정보 확인 가능
DBA_DB_LINKS
Tibero 내의 모든 데이터베이스 링크의 정보 확인 가능
ALL_DB_LINKS
현재 사용자가 이용할 수 있는 모든 데이터베이스 링크의 정보 확인 가능
USER_DB_LINKS
현재 사용자가 생성한 데이터베이스 링크의 정보 확인 가능

DBLink 사용 전 사전 확인 사항

1.
Tibero 바이너리에서 지원하는 Gateway 파일 확인
Gateway 파일 위치
$TB_HOME/client/bin/gw4orcl
2.
Oracle Client 설치
대상 Oracle 버전에 맞는 Oracle Client 바이너리 다운 및 압축 해제
Tibero Engine 디렉토리 외부에 설치

DBLink 제약 사항

항목
제약 사항
데이터 타입 지원
LONG, RAW, NCLOB Type 미지원
LOB, LONG 일부 지원
지원가능 형태 - insert into (local) ~ select from (dblink) - insert into (dblink) ~ select from (local)
UDF (User Defined Function)
PSM (Persistent Stored Modules) 내부에서는 사용 가능

DBLink 과정

1.
Tibero 서버에서 tbsql 접속
@oracle 등 지정된 alias로 tbdsn.tbr에 설정한 SID로 접속
2.
tbdsn.tbr에서 정보 확인
Gateway 위치 정보와 Target 확인 ($TBGW_HOME에서 tbgw.cfg 위치 확인 가능)
3.
tbgw.cfg 파일 확인
설정된 Listener Port(ex-9999)로 연결 시도
4.
tnsnames.ora 파일 확인
Target에 해당되는 Oracle 서버 접속 정보 확인 (IP, PORT, SERVICE_NAME)
[그림 1] DBLink 과정

제약 사항 테스트 (LONG, LOB)

1.
Target DB(Oracle) 데이터 생성
 LONG 타입 테이블 생성
SQL> CREATE TABLE long_data ( 2 c1 NUMBER, 3 c2 LONG ); SQL> INSERT INTO long_data VALUES (1, 'This is some long data to be migrated to a CLOB'); SQL> INSERT INTO long_data VALUES (2, 'long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터'); SQL> SELECT * FROM LONG_DATA; C1 C2 ---------- -------------------------------------------------------------------------------- 1 This is some long data to be migrated to a CLOB 2 long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터
SQL
복사
 LOB 타입 테이블 생성
SQL> CREATE TABLE test_lobs( 2 c1 NUMBER, 3 c2 CLOB ); SQL> INSERT INTO test_lobs VALUES (1, 'This is some long data to be migrated to a CLOB'); SQL> INSERT INTO test_lobs VALUES (2, 'long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터'); SQL> select * from test_lobs; C1 C2 ---------- -------------------------------------------------------------------------------- 1 This is some long data to be migrated to a CLOB 2 long컬럼을 clob으로 마이그레이션 하기 위한 테스트 데이터
SQL
복사
2.
Tibero to Oracle dblink 조회
Long type 데이터 조회
일부 데이터 정상 조회 (한글 깨짐 가능성)
SQL> select * from long_data@ora3; C1 C2 ---------- ------------------------------------- 1 This is some long data to be migrated to a CLOB 2 longlob Ʈ Դϴ 2 rows selected.
SQL
복사
LOB type 데이터 조회
LOB 확인 시 에러 발생, LOB 타입 직접 조회는 불가
SQL> select * from test_lobs@ora3; C1 C2 ---------- ------------------------------------- 1 TBR-2102: Failed to read LOB data. TBR-26020: Cannot read a LOB object in a remote server.
SQL
복사