Oracle/Admin2010. 6. 6. 23:16

DB를 사용하다 보면 현재 사용자의 스키마 뿐만 아니라 다른 사용자의 데이터베이스, 혹은 다른 시스템의 데이터베이스를 사용해야 하는 경우가 생긴다. 이때 DBLink를 사용하게 된다. DBLink는 말 그대로 서로 떨어져 있는 데이터베이스 간에 접속을 위하여 사용된다. DBLINK는 일반 사용자 권한으로 만들 수 없고 반드시 DBA 권한이 있어야 한다.

DBLink를 만들기전에 가능한 tnsname.ora 파일에 서버에 관한 정보를 추가해놓는것이 좋다.

 

생성법]

CREATE [private|public] BATABASE LINK 링크명

CONNECT TO 아이디 IDENTIFIED BY 암호

USING 연결할서버TNS

보다시피 상당히 단순한 구조로 되어있다.

하지만 위에서도 언급했다시피, tnsname.ora 파일에 추가한 TNS네임을 입력해야 하며

만약 TNS네임을 추가하지 않았다면 다음과 같은 복잡한 방법을 사용하게 된다.

USING '(description=(address=(protocol=TCP)(host=IP/HostName)(port=Port))(connect_data=(sid=SID)))'      <- TNS네임대신 적어주는내용;

DBLink가 작성되었는지 여부는 SELECT 명령어를 이용하여 확인할수 있다.

SELECT * from all_db_links             일반사용자

SELECT * from dba_db_links            DBA

작성된 DBLink는 다음과 같이 사용할수 있다. 만약 네이밍 룰이 길다고 느껴지면 Synonym을 사용하여 줄이면 된다.

SELECT * from [사용자.]테이블명@링크명

필요없는 DBLink는 다음과 같이 삭제할 수 있다.

DROP DATABASE LINK 링크명

[출처] DBLink|작성자 도토리

'Oracle > Admin' 카테고리의 다른 글

리스너에 패스워드 걸기  (0) 2010.07.07
deadlock을 판단하는데 걸리는 시간은?  (0) 2010.07.01
[펌] TNS-12546: TNS:permission denied  (0) 2010.05.28
session kill 하는 SQL  (0) 2010.05.21
create index, index rebuild  (0) 2010.04.27
Posted by 자수성가한 부자