컴퓨터 이야기/Database
[Oracle, Tibero]DBLink 생성 및 삭제
Karzin
2019. 12. 26. 19:26
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를 쓸 일이 없었으면 하지만.. 생각보다 자주쓰는것 같습니다.