Oracle Database

DB Link 설정

화려한청춘·2014년 6월 18일·조회 15,072

- DB Link 란 ?
: 데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정

- DB Link 생성방법

  CREATE [PUBLIC] DATABASE LIKN <link_name>
  CONNECT TO <username> IDENTIFIED BY <password>
  USING <원격 db alias>

  - PUBLIC : PUBLIC 옵션을 사용하면 공용 데이터베이스 링크를 생성하고, PUBLIC 옵션을 사용하지 않으면 링크를 생성한 자신만 사용 할 수 있다.

  - link_name : 데이터베이스 링크의 이름 지정

  - 원격 db alias : 네트워크 접속에 사용할 오라클 데이터베이스 네트워크 서비스명을 지정 한다.

  - username, password : 오라클 사용자명과 비밀번호를 지정 한다.

===========예제==========


"A" ---DB Link---> "B"
 
-- 데이터베이스 링크 생성
SQL> CREATE DATABASE LINK test_server
     CONNECT TO scott IDENTIFIED BY tiger USING 'B_DB';


-- USING다음에 B_DB는 tnsnames.ora파일에 정의되어 있어야 한다.
======== tnsnames.ora =======
 B_DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 211.109.12.123)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracle)
    )
  )
=========================
 
tnsping B_DB로 확인
: tnsping B_DB
 
-- 데이터베이스 링크를 통한 데이터의 조회..
SQL> SELECT ename FROM <테이블명>@test_server;
 
 
-- 데이터베이스 링크의 삭제..
SQL> DROP DATABASE LINK test_server;

-- DB Link 리스트 조회

SQL> SELECT * from DBA_DB_LINKS;

 

댓글 4

로그인 후 댓글을 남길 수 있습니다.

  • sscenic· 2014년 12월 8일
    DB 링크는 보안상에 리스크가 있을 것같은데.. 맞나요..?
  • sscenic· 2015년 3월 23일
    대답좀 해주세요
  • 꼬맹이· 2016년 6월 14일
    보안상 리스크 있는것 맞습니다...게다가 권한설정하여 DB링크 사용해야 하고 현 추세는 DBLINK는 사용을 지양하는 추세입니다.
  • 강철지그강철지그· 2016년 6월 15일
    글 중에 오타가 있네요. CREATE [PUBLIC] DATABASE [b]LIKN[/b] -> CREATE [PUBLIC] DATABASE [b]LINK[/b]