[오라클] DB Link 설정

'A' DB   --- DB Link --→ 'B' DB
 (로컬)                          (원격지)

 

1. 로컬 'A' DB 의 tnsnames.ora 파일에 원격지 'B' DB 접속 정보 추가
ex)
B_DB =
  (DESCRIPTION =
    (ADDRESS_LIST =
       (ADDRESS = (PROTOCOL = TCP) (HOST = 192.168.0.1) (PORT = 1521))
    )
    (CONNECT_DATA =
       (SID = ORA9)
    )
  )

※ 'B' DB 접속 정보가 올바르게 입력되었는지 확인 : tnsping 명령으로 확인할 수 있다.
tnsping B_DB

 

2. DB Link 설정 명령
CREATE [PUBLIC] DATABASE LINK DB LINK 이름
CONNECT TO 유저명
IDENTIFIED BY 비밀번호
USING '서비스 이름'

ex)
CREATE DATABASE LINK DBLK_B_DB
CONNECT TO SCOTT
IDENTIFIED BY TIGER
USING 'B_DB' 

※ tnsnames.ora 추가 없이 DB Link 설정하기
tnsnames.ora 에 원격지 'B' DB 정보 추가 없이 아래와 같이 CREATE DATABASE LINK 명령에 직접 기술함으로 추가할 수도 있다.

ex)
CREATE DATABASE LINK DBLK_B_DB
CONNECT TO SCOTT
IDENTIFIED BY TIGER
USING '(DESCRIPTION =
               (ADDRESS_LIST =
                   (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.1)(PORT = 1521))
                )
                (CONNECT_DATA =
                    (SID = ORA9)
                )
            )'

※ DB Link 설정하기 위해서는 권한이 필요하다. 만약 권한이 없다면 다음으로 권한 설정을 해준다.
    GRANT CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO user_id;

 

3. DB Link 사용
SELECT * FORM TABLE명@DBLK_B_DB

 

4. DB Link 삭제
DROP DATABASE LINK DB LINK 이름

ex)
DROP DATABASE LINK DBLK_B_DB

 

※ DB Link 생성 시 GLOBAL_DB_NAME - REGRESS.RDBMS.DEV.US.ORACLE.COM 이 붙는 현상
DB Link 생성 시 DBLK_B_DB.REGRESS.RDBMS.DEV.US.ORACLE.COM 와 같이 사용자가 정한 DB Link DBLK_B_DB 이름 뒤에 GLOBAL_DB_NAME 이 붙을 때는 GLOBAL_DB_NAME 을 DB_NAME 으로 변경하고 DB_LINK 를 생성하면 된다.

DB Link 이름 뒤에 붙어 있는 GLOBAL_DB_NAME 일반적으로 DB Link 사용 시에 크게 문제되지 않는다.
(그저 보기 지저분할 뿐...)

단, 원격 DB 의 SHOW PARAMETERS GLOBAL_NAMES 의 값(Value) 이 TRUE 인 경우 GLOBAL_DB_NAME 까지 일치해야 한다.
(일반적으로 디폴트 SHOW PARAMETERS GLOBAL_NAME 의 값은 FALSE 이다.)
 

  • GLOBAL_DB_NAME 확인
    SELECT  *  FROM PROPS$ WHERE NAME = 'GLOBAL_DB_NAME';  (VALUE$ 컬럼 값이 GLOBAL_DB_NAME 이다)
  • DB_NAME 확인
    SHOW PARAMETERS DB_NAME
  • GLOBAL_DB_NAME 의 변경
    UPDATE PROPS$ SET VALUE$ = '<DB_NAME>' WHERE NAME = 'GLOBAL_DB_NAME';
    <DB_NAME> 은 SHOW PARAMETERS DB_NAME 으로 확인한 이름값을 넣어준다.

GLOBAL_DB_NAME 변경 후 DB 인스턴스를 재기동 해주어야 반영된다.!!! (shutdown immediate / Startup)

 

저작자 표시 비영리 동일 조건 변경 허락
신고
Trackback 0 Comment 7
  1. recherche nom de domaine 2012.04.10 04:06 신고 address edit & del reply

    비밀댓글입니다

  2. 타울 2012.10.08 17:53 신고 address edit & del reply

    감사합니다~^^

  3. 주한길 2013.01.24 16:06 신고 address edit & del reply

    좋은글 출처를 표시하고 블로그에 담아갑니다. ^^

  4. 물빛미르 2013.03.13 15:47 신고 address edit & del reply

    덕분에 도움이 됬습니다. 출처 표시하고 퍼갑니다. ^^*

  5. 소중난 2013.11.14 16:01 신고 address edit & del reply

    좋은 자료 감사합니다. 출처와 함께 담아갑니다~

  6. 개붕1109 2015.04.27 17:59 신고 address edit & del reply

    도움 많이 되었습니다. 출처 표시하고 담아갑니다.

  7. Cofs 2016.01.14 15:29 신고 address edit & del reply

    출처와 함께 담아가요

prev 1 ··· 17 18 19 20 21 22 23 24 25 ··· 56 next


티스토리 툴바