Database&WAS/Oracle

Oracle DB Link

icocoa 2014. 5. 14. 10:56

--> 로컬 DB에서 원격지(ex. NL -> DB링크명) DB에 접속 가정
[로컬에서 다음과 같이 설정]
CREATE DATABASE LINK NL
CONNECT TO 아이디
IDENTIFIED BY 패스워드
USING '(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = '서버IP')(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 'SID값')
    )
  )' ;

[제거]
DROP DATABASE LINK NL;

-->  또는 위와 같이 ip정보를 직접 주지않고 로컬의 tnsnames.ora에
NL =
(DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = '서버IP')(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = 'SID값')
    )
  )

와 같이 접속정보 추가후

CREATE DATABASE LINK NL
CONNECT TO 아이디
IDENTIFIED BY 패스워드
USING 'NL' 

과 같이 사용할 수도 있음

[DB LINK 설정권한]
GRANT CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO '유저ID';
------------------------------------------------------------
로컬에서는
SELECT * FROM 테이블@DB링크명
과 같이 사용