2016. 1. 5. 15:48ㆍdatabase/oracle
출처 : http://storing.tistory.com/56
'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)
'database > oracle' 카테고리의 다른 글
toad 주석 기울임꼴 제거 / comment Italic (0) | 2017.02.20 |
---|---|
oracle / 날짜 더미 테이블 만들기 / 오라클 / 티베로 / tibero / dummy (0) | 2016.01.12 |
oracle / 한 컬럼에 콤마(',') 구분자로 되어있는 코드 치환하기 (0) | 2016.01.05 |
oracle / hint / 힌트 종류 정리 (1) | 2016.01.05 |
oracle / SQLPLUS 원격지 접속 / cmd 원격접속 (0) | 2016.01.05 |
oracle / ORA-00904 / 스칼라 서브쿼리 / with (0) | 2016.01.05 |
toad 글꼴 변경 (0) | 2016.01.05 |
oracle / expdp / impdp / data dupm / 덤프 (2) | 2016.01.05 |
oracle / 오라클 및 각종 DB 강좌 사이트 (0) | 2016.01.05 |
oracle xe 8080 prot / 포트 / 변경 (0) | 2016.01.05 |