반응형
데이터베이스에서 다른 데이터베이스를 접근가능한 링크
"FROM 테이블명@DB링크" 형식으로 사용
다른 DB에 특정 유저에 대한 링크를 만들어 해당 스키마에 테이블들을 접근하는 기술
자바에서의 접근제어자와 비슷하게 public 과 private 으로 접근 권한을 부여 하고
- public > 모든 유저가 사용가능한 공용링크를 만들때 지정
- private > 특정 유저만 사용가능 한 DB링크를 만들때 지정
단순 개발을 할 경우에는 여러 데이터베이스에 접근을 하면 되지만, 특정 상황에 따라나 기업 권한 등 제한된 환경에서 확장이 필요할때, 다른 서버의 DB를 링크를 통해 접속하게 해주므로 확장성을 가진다.
DB 링크 CRUD문
DB 링크 조회
- SELECT * FROM DBA_DB_LINKS
생성
TNS에 해당 DB가 서로 명시되어 있어야하며, 통신을 위해 각각 서버에 1521 포트개방은 필수이다.
- CREATE DATABASE LINK [링크로 사용할 명칭]
CONNECT TO [원격지 로그인 유저명]
IDENTIFIED BY "[원격지 유저 패스워드]"
USING [로컬서버의 tnsnames.ora에 설정된 접속할 매칭이름]
삭제
- DROP DATABASE LINK 링크명;
- DROP PUBLIC DATABASE LINK 링크명;
다른 데이터베이스에서 사용할 경우엔 아래처럼 사용이 가능하다.
SELECT * FORM 테이블명@링크명;
여기서 링크명은 위에 create에 만들었던 이름을 사용한다.
반응형
'IT > Database' 카테고리의 다른 글
[Mysql] 사용자 정의 변수 선언 및 초기화 , 사용법 //(시스템변수) (46) | 2023.08.20 |
---|---|
[Oracle] TNS에 대해서 (50) | 2023.08.09 |
[SQL 쿼리 튜닝] OR -> UNION ALL 변환 (38) | 2023.06.26 |
데이터베이스 테이블 합집합, 차집합(UNION, UNION ALL, MINUS, INTERSECT, EXCEPT) (46) | 2023.06.25 |
LAG, LEAD 함수에 대해서 (44) | 2023.06.21 |
댓글