Oracle Database TIP
데이터베이스 링크(Database Link) 24 1 62,571

by 김정식 DB LINK.SYNONYM.시노님 [2002.09.09]


데이터베이스 링크(Database Link)란?

  데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체 이다.

  우선 고려되어야 사항은 ORACLE INSTANCE가 두 개 이상이고, 각각의 HOST NAMEORACLE_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 디스타임 [2010.04.22 15:38:18]
감사합니다. 요즘 여기서 많은 걸 배워가고 있습니다.. ^^
댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입