DB/Oracle
[Oracle] DBLink @
고구마_왕
2023. 10. 11. 19:56
이름에서 유추가능하듯 각기 서로 다른 DB를 연결해주는 기능으로,
Table명 바로 뒤 @를 이용하여 DBLinkID를 붙혀주어 사용한다.
이때 DBLinkID는 DB의 로그인 아이디가 아닌 별도로 설정한 LinkID가 들어간다.
select * from table@DBLinkID
DBLinkID를 생성하는 방법
1. TNSNAME.org에 DB의 정보가 저장되어있다면 USING으로 해당 별칭으로 호출 하여 생성할 수 있다.
CREATE PUBLIC DATABASE LINK ${DBLinkID} --사용될 DBLink ID
CONNECT TO ${Remote_DB_ID} --원격으로 접속할 사용자 ID
IDENTIFIED BY "${password}" --원격으로 접속할 사용자 PW
USING ${tnsname}; --tnsname에 기록되어 불러올 정보, 별칭
2. TNSNAME.org에 DB정보가 없다면
CREATE PUBLIC DATABASE LINK ${DBLinkID} --사용될 DBLink ID
CONNECT TO ${Remote_DB_ID} --원격으로 접속할 사용자 ID
IDENTIFIED BY "${password}" --원격으로 접속할 사용자 PW
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ${IP})(PORT = ${PORTNum}))
)
(CONNECT_DATA =
(SID = ${DBname})
)
)'; --tnsname에 기록되어 불러올 정보, 별칭