데이터베이스 링크(Database Link)란?
데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체 이다.
우선 고려되어야 사항은 ORACLE INSTANCE가 두 개 이상이고, 각각의 HOST NAME과 ORACLE_SID는 다르고NLS_CHARACTER_SET은 동일하게 되어 있어야 한다.
만약 같은 MECHINE에서 INSTANCE의 ORACLE_SID가 같다면 TNS ERROR가 발생 한다.
미래를 위해 다른 MECHINE이라 할지라도 ORACLE_SID는 규칙에 의해 다르게 가져가는 것이 좋다.
NLS_CHARACTER_SET이 동일하게 되어 있지 않으면 DATA 입출력시 ?????로 나타난다.
데이터베이스 링크로 연결되는 서버에 리스너가 꼭 띄어져 있어야 한다.
문법
- PUBLIC : 오라클 시노님과 마찬가지로 PUBLIC 옵션을 사용하면 공용 데이터베이스 링크를 생성 할 수 있다.PUBLIC 옵션을 사용하지 않으면 링크를 생성한 자신만 사용 할 수 있다.
- link_name : 데이터베이스 링크의 이름을 지정 한다.
- service_name : 네트워크 접속에 사용할 오라클 데이터베이스 네트워크 서비스명을 지정 한다.
- username, password : 오라클 사용자명과 비밀번호를 지정 한다.
데이터베이스 링크 예제
-- 데이터베이스 링크 생성 SQL> CREATE DATABASE LINK test_server CONNECT TO scott IDENTIFIED BY tiger USING 'testdb'; -- USING다음에 testdb는 tnsnames.ora파일에 정의되어 있어야 한다. ====== tnsnames.ora ===== testdb = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 211.109.12.123)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = oracle) ) ) ========================= -- 데이터베이스 링크를 통한 데이터의 조회.. SQL> SELECT ename FROM emp@test_server; --시노님을 생성해서 사용하면 더욱더 편리하게 사용 할 수 있다. SQL> CREATE SYNONYM emplink FOR emp@test_server; -- 시노님을 통한 조회 SQL> SELECT ename FROM emplink; -- 데이터베이스 링크의 삭제.. SQL> DROP DATABASE LINK test_server;
태그
문서에 대하여
- - 강좌 URL : http://www.gurubee.net/lecture/1560
- - 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- - 구루비의 모든 강좌는 크리에이티브 커먼즈의 저작자표시-비영리-동일조건변경허락(BY-NC-SA) 라이선스에 따라 자유롭게 사용할 수 있습니다.
'IT > oracle' 카테고리의 다른 글
ARCHIVELOG 모드로 변경 (0) | 2015.04.06 |
---|---|
ARCHIVELOG 모드 (0) | 2015.04.06 |
NOARCHIVELOG 모드 (0) | 2015.04.06 |
Backup의 종류 (0) | 2015.04.06 |
Oracle Backup And Recovery (0) | 2015.04.06 |
객체권한(Object Privileges) 이란? (0) | 2015.04.06 |
SQL*PLUS 사용법 (0) | 2015.02.05 |
NLS_DATE_FORMAT (0) | 2015.02.03 |
Oracle FlashBack 을 이용한 데이터 복구 (0) | 2015.02.03 |
오라클 RMAN 백업의 주요 특징 (0) | 2015.02.02 |