DBLink 란??

 - 타 DB에 접속하기 위한 Link라고 보시면 됩니다.

 - 예를 들자면, A라는 데이터베이스와 B라는 데이터베이스가 있을 때, A에서 B에 있는 Table을 확인하고 싶을 때 사용하는 방법이라고 생각하시면 될 것 같습니다.

 - A -> B.table

 

DBLink 생성

 - 1. (Oracle의 경우) tbsnames.ora 설정 필요 //Oracle의 경우 데이터베이스 링크 생성 시 선언해도 됩니다. (2번으로)

DBLinkName = 
 (DESCRIPTION =
  (ADDRESS_LIST = 
   (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.1) (PORT = 1234) ) 
  )
  (CONNECT_DATA = 
   (SERVICE_NAME = ORACLE) 
  )
 )

 - 1. (Tibero의 경우) tbdsn.tbr 설정 필요

DBLinkName = 
(
 (INSTANCE = (HOST=192.168.1.1)
  (PORT=1234)
  (DB_NAME=TIBERO)
 )
)

 

 - 2. 데이터베이스 링크 생성

create database link [DBLinkUseName] connect to [USER_ID]
identified by [USER_PASSWORD] using [DBLinkName];

 -> [ ]안에 들어갈 내용은 1. 사용할 DBLink의 명칭 2. 연결할 DB에 생성되어있는 접속할 유저의 아이디 3. 유저의 비밀번호 4. 위 ora 및 tbr 파일에서 선언한 네임(맨 위에 있는 명칭 DBLinkName = )을 적어주면 됩니다. (여기에서는  DBLinkName)

 

  - 2.1. Oracle에서 ora 설정을 하지 않고 데이터베이스 링크 생성 방법

Create database link [DBLinkName] connect to [USER_ID]
Identified by [USER_PASSWORD] using '(DESCRIPTION =
 (ADDRESS_LIST = 
  (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.1.1) (PORT = 1234) )
  )
 (CONNECT_DATA = 
  (SERVICE_NAME = ORACLE) 
 )
)'

 

 - 3. 테스트

select * from dual@DBLinkUseName

 

 

DBLink 삭제

DROP DATABASE LINK DBLinkUseName;

 

DBLink를 쓸 일이 없었으면 하지만.. 생각보다 자주쓰는것 같습니다.

+ Recent posts