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를 쓸 일이 없었으면 하지만.. 생각보다 자주쓰는것 같습니다.
'컴퓨터 이야기 > Database' 카테고리의 다른 글
[MariaDB, MySQL] 에러해결 : Multiple primary key defined (1) | 2020.08.15 |
---|---|
[Mybatis, MariaDB, MySQL] 에러해결 : Table ~~~ doesn't exist (0) | 2020.08.06 |
[Database] 데이터 모델 이란? (0) | 2020.06.19 |
[MySql, MariaDB] Spring Boot 연동시 타임존 에러 해결 (0) | 2020.01.10 |
[Mysql, MariaDB] 계정 생성 및 권한 부여하기 (0) | 2020.01.07 |