Dblink
Rolizen Technet
Jump to: navigation, 찾기
목차[숨기기] |
[편집] DB Link란?
- 물리적으로 다른 위치의 있는 Oracle Database를 마치 자신의 Database내에 있는 것처럼 사용할 수 있도록 Link를 걸어 놓는것
- 주 사용처
- 타 DB의 데이터를 쉽게 취득할 수 있음
- Data 마이그레이션 작업시 유용하게 사용되어 질 수 있음
- 주기적인 외부 데이터 취득시 사용
- 주의 사항
- 실질적으로는 외부 네트윅으로 데이터를 전송하므로, 네트윅 부하가 유발될 수 있으며, 네트윅 상황에 따라서 쿼리 실패가 될 수도 있으므로 실시간 서비스에서는 사용을 자제해야 한다.
[편집] DB Link 사용방법
테이블 표시 : 테이블명@DB링크이름
일반 테이블과 동일하게 사용하면 된다.
단, 상대편 DB 권한설정에 따라서 몇가지 명령(ddl명령)에서는 DB Link가 허용되지 않는 부분이 있으므로 주의!
[편집] DB Link 생성 및 삭제 방법
- 선행작업
연결할 DB에서 연결할려는 DB로의 TNS(로컬네트워크 서비스)설정을 먼저 해 주어야 한다.
- DB Link 생성
CREATE [public | private] DATABASE LINK {사용할 링크 이름} CONNECT TO {접속 아이디} IDENTIFIED BY {접속 암호} using '{연결 문자열}';
public일 경우, 모든 사용자가 사용할 수 있으며, private일 경우에는 생성한 사용자만 사용할 수 있다. 링크 이름을 지정하는데, 숫자가 먼저 올 수 없다.
- DB Link 삭제하기
DROP [public | private] DATABASE LINK {삭제할링크 이름}; [편집] 예제
- 시나리오
- jampy Database에서 jserver Database로 DB Link를 생성
CREATE public DATABASE LINK reo_test CONNECT TO blog IDENTIFIED BY blog using 'JSERVER_XE' // JSERVER_XE는 jampy가 jserver로 연결할 TNS(로컬네트워크 서비스)명 // reo_test는 쿼리에서 사용할 Link 이름
-jampy에 다음과 같은 테이블을 생성한다.
CREATE TABLE dblink_test( name varchar(20) , nickname varchar(20) );
-jserver blog계정에 다음과 같은 테이블을 생성한다
CREATE TABLE caller_dblink_test( id varchar(20) , age varchar(20) );
-jampy caller_dblink_test와 jserver dblink_test 두 테이블을 조인해서 정보를 취득
SELECT a.id,a.age,b.name FROM caller_dblink_test a,dblink_test@reo_test b WHERE a.id=b.id // id 및 age는 jampy database에서 취득을 하고, name값은 jserver database에서 취득을 하는 쿼리
출처 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=ssamdaengi&logNo=70031209195
'개발언어 > 데이타베이스' 카테고리의 다른 글
Oracle DB link (0) | 2021.06.02 |
---|---|
데이터베이스 링크(Database Link)란? (0) | 2021.06.02 |
C#사용을 위한 티베로6(tibero6)의 ODBC연결 및 OLEDB연결 (1) | 2021.03.25 |
tbadmin, Tibero Studio 다운로드 (1) | 2021.03.25 |
티베로6 (Tibero6) 설치 (0) | 2021.03.25 |