DB Link 는 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위하여 접속 설정을 정의하는 객체이다.
분산된 데이터를 다루기 편리하지만 실시간 트랜잭션이 많은 시스템에서는 장애가 발생할 수 있다. (Link를 통해 접속된 데이터베이스의 세션과 Lock 이 증가할 수 있으므로)
Long Type, CLOB, BLOB 타입을 Link를 통해 DML 작업할 경우 오류가 발생할 가능성이 있다.
Tibero to Tibero는 접속하려고 하는 Tibero의 IP 주소, 포트 번호, DB Name 내용을 확인하고 DB Link를 설정할 Tibero의 네트워크 설정 파일 (tbdsn.tbr) 에 설정한다.
# DB Link를 생성할 Tibero 의 정보
tibero=(
(INSTANCE=(HOST=localhost)
(PORT=6829)
(DB_NAME=tibero)
)
)
# 접속할 Tibero 의 정보
tibero_a=(
(INSTANCE=(HOST=Node IP)
(PORT=설정할 PORT)
(DB_NAME=tibero)
)
)
접속하려는 Tibero(tibero_a)로 접속한 것을 확인한다.
tbsql sys/tibero@tibero_a
DB Link 를 생성할 계정의 sql 에 접속하여 DB Link Object를 생성한다.
create database link <DB LINK 명> connect to <접속 사용자 ID> identified by <접속 패스워드> using <접속에 사용할 alias>;
DB Link 생성 예시는 다음과 같다.
create database link T7Link connect to TEST_DB identified by 'TEST_DB' using 'tibero_a';
DB Link를 생성하기 위해서는 CREATE DATABASE LINK 또는 CREATE PUBLIC DATABASE LINK 권한이 필요하다.
생성이 완료되면 < @Link명 > 을 붙여 사용한다.
select * from dual@T7Link
사용중인 Link 의 이름으로 알 수 없는 경우 다음과 같이 View 를 조회한다.
select * from user_db_links;