[오라클]DB링크 개념
한 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 설정을 해주는 오라클 객체 입니다.
DB Link 설정을 하면 한 DB에서 다른 DB의 내용을 볼 수 있게 되는 것이죠.
쉽게 말하자면 'A' DB에서 'B' DB로 DB Link 를 걸고자 한다면 우선 'A' DB의 TNSNAMES.ORA파일에 'B' DB 접속정보를 추가해 줍니다.
물론 그 전에 두 DB 간에 1521(기본 포트)가 열려 있어야 합니다.
접속이 가능한지는 한 DB에서 다른 DB로 > telnet IP PORT 로 접속 테스트를 해주시면 됩니다.
ex> telnet 192.168.0.1 1521
실제 DB Link를 걸기 위해서는 'B' DB의 서비스 네임과 link걸 table의 user/passwd를 알아야 합니다.
그리고 'A' DB에서 DB Link를 걸기 위해선 권한이 필요합니다.
'A' DB 의 System 계정으로 들어가서
GRANT CREATE PUBLIC DATABASE LINK, DROP PUBLIC DATABASE LINK TO A DB_ID;
'A' DB에 권한을 주고, 아래와 같이 DB Link를 생성합니다.
CREATE DATABASE LINK TEST_LINK CONNECT TO B DB_ID IDENTIFIED BY PASSWORD USING 'B DB'
TEST_LINK -> Link 이름
B DB_ID -> B DB 접속 아이디
PASSWORD -> B DB 접속 패스워드
'B DB' -> B DB 의 TNSNAMES.ORA에 등록된 Name
마지막으로 아래의 명령어로 DB Link 가 걸렸는지 확인해 줍니다.
SELECT * FROM Table@TEST_LINK
* 모든 DB Link 를 확인하는 SQL
select * from all_db_links;
* DB Link 삭제
drop database link TEST_LINK
CREATE DATABASE LINK 원하는 링크이름
CONNECT TO 계정 IDENTIFIED BY 비번
USING '연결할 DB의 TNS';
이래저래 안걸리면 직접넣기
CREATE DATABASE LINK 링크이름
CONNECT TO 아이디 IDENTIFIED BY 비번
USING '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=호스트명)(PORT=1521)) (CONNECT_DATA=(SERVICE_NAME=SID)))';
'01.오라클 > 007.DB Knowledge Base' 카테고리의 다른 글
[오라클]비용기반 옵티마이저 (0) | 2013.02.20 |
---|---|
[오라클]DELETE와 TRUNCATE의 차이점 (0) | 2013.02.20 |
[오라클]NLS_LANG 관련 정보 (0) | 2013.02.01 |
[오라클] V$ object 와 object 의 차이점 (0) | 2013.01.23 |
[오라클]전문가가 되기 위해 무엇을 준비해야 하는가? (0) | 2012.12.19 |