Oracle&DB
물리적 독립된 다른 서버를 쿼리에서 같이 다루는 - Database Link
Code GGOON
2020. 9. 10. 14:09
반응형
서로 다른 지역에 떨어져있는 Oracle Database 서버간 테이블을 복제하거나,
물리적으로 다른 개발 및 운영서버간의 테이블을 복제할때, 쿼리를 통해서 서로다른 데이터베이스 서버를 다루는 경우가 있다, 이떄 사용하는 ORACLE "DATABASE LINK"
[사용법]
1. tnsnames.ora 에 서로다른 오라클 서버의 접속정보를 모두 기재하고,
2. 어느 하나의 서버(데이터 출발지 서버)에서 "DATABASE LINK"를 생성한다.
3. 원격지 서버 쿼리 테스트, 테이블 복제 실행
4. (옵션) 완료 후 "DATABASE LINK" 제거
[DATABASE LINK 생성문법]
CREATE [PUBLIC] DATABASE LINK link_name
CONNECT TO user_id
IDDENTIFIED BY password
USING 'tns_connection_name' (또는 접속정보 구문)
[EX]
--Database Link 생성
CREATE DATABASE LINK op_serv
CONNECT TO user IDENTIFIED BY passwd USING 'OPDB';
--Link Test(select)
SELECT * FROM tableA@op_serv;
--Database Link 삭제
DROP DATABASE LINK op_serv;
[tnsnames.ora 내용 참조]
OPDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.150)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
반응형