데이터베이스2018. 10. 15. 18:52

'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)

'데이터베이스' 카테고리의 다른 글

집계 쿼리  (0) 2023.02.07
두 날짜 사이의 날짜 구하기  (0) 2018.01.02
오라클의 GREATEST, LEAST 함수  (0) 2017.12.20
FIRST, LAST (최대, 최소값을 가진 로우 추출)  (0) 2017.12.15
피어슨 상관계수 SQL  (0) 2017.11.30
Posted by 미랭군
HTML52018. 10. 11. 11:28

&#10; 또는 &#13;

<a href="#none" title="안녕하세요.&#10;C.m.A 입니다.">마우스를 올려보세요</a>

'HTML5' 카테고리의 다른 글

Canvas에서 아크라인(ARC LINE) 그리기  (0) 2016.06.14
d3에 대해 배우는 방법 정리  (0) 2014.11.28
특수기호 표시  (0) 2014.10.02
Handsontable 한글 문제  (0) 2014.08.13
부트스트랩 관련 블로그  (0) 2013.08.13
Posted by 미랭군
2018. 9. 12. 17:59

https://www.amcharts.com/kbase/automatically-marking-out-highest-and-lowest-points-on-the-graph/

Posted by 미랭군