반응형
☞ 데이터베이스 링크(Database Link)
데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에
접속하기 위한 접속 설정을 정의하는 오라클 객체 입니다.
◈ 우선 고려되어야 사항은 ORACLE INSTANCE가 두개이상이고 각각의 HOST NAME과 ORACLE_SID는
다르고 NLS_CHARACTER_SET은 동일하게 되어 있어야 합니다.
- 만약 같은 MECHINE에서 INSTANCE의 ORACLE_SID가 같다면 TNS ERROR가 발생 합니다.
- 또한 미래를 위해 다른 MECHINE이라 할지라도 ORACLE_SID는 규칙에 의해 다르게 가져가는
것이 좋습니다.
- 그리고 NLS_CHARACTER_SET이 동일하게 되어 있지 않으면 DATA 입출력시 ?????로 나타납니다.
- 데이터베이스 링크로 연결되는 서버에 리스너가 꼭 띄어져 있어야 됩니다
[Syntax]
- PUBLIC : 오라클 시노님과 마찬가지로 PUBLIC 옵션을 사용하면 공용 데이터베이스 링크를 생성
할 수 있습니다. PUBLIC 옵션을 사용하지 않으면 링크를 생성한 자신만 사용 할 수 있습니다.
- link_name : 데이터베이스 링크의 이름을 지정 합니다.
- service_name : 네트워크 접속에 사용할 오라클 데이터베이스 네트워크 서비스명을 지정 합니다.
- username, password : 오라클 사용자명과 비밀번호를 지정 합니다.
-- 데이터베이스 링크 생성 예제
SQL>CREATE DATABASE LINK test_server
CONNECT TO scott IDENTIFIED BY tiger USING ’testdb’;
이 데이터베이스 링크 생성 문장에서 USING다음에 오는 testdb는 tnsnames.ora파일에 정의되어
있어야 합니다.
====== tnsnames.ora =====
testdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.109.12.123)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
=========================
-- 데이터베이스 링크를 통한 데이터의 조회..
SQL>SELECT ename FROM emp@test_server;
--시노님을 생성해서 사용하면 더욱더 편리하게 사용 할 수 있습니다.
SQL> CREATE SYNONYM emplink FOR emp@test_server;
-- 시노님을 통한 조회
SQL>SELECT ename FROM emplink;
데이터베이스 링크의 삭제..
SQL>DROP DATABASE LINK test_server;
================================================
* 데이터베이스 정보공유 커뮤니티 oracleclub.com
* 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
================================================
데이터베이스 링크는 클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에
접속하기 위한 접속 설정을 정의하는 오라클 객체 입니다.
◈ 우선 고려되어야 사항은 ORACLE INSTANCE가 두개이상이고 각각의 HOST NAME과 ORACLE_SID는
다르고 NLS_CHARACTER_SET은 동일하게 되어 있어야 합니다.
- 만약 같은 MECHINE에서 INSTANCE의 ORACLE_SID가 같다면 TNS ERROR가 발생 합니다.
- 또한 미래를 위해 다른 MECHINE이라 할지라도 ORACLE_SID는 규칙에 의해 다르게 가져가는
것이 좋습니다.
- 그리고 NLS_CHARACTER_SET이 동일하게 되어 있지 않으면 DATA 입출력시 ?????로 나타납니다.
- 데이터베이스 링크로 연결되는 서버에 리스너가 꼭 띄어져 있어야 됩니다
[Syntax]
- PUBLIC : 오라클 시노님과 마찬가지로 PUBLIC 옵션을 사용하면 공용 데이터베이스 링크를 생성
할 수 있습니다. PUBLIC 옵션을 사용하지 않으면 링크를 생성한 자신만 사용 할 수 있습니다.
- link_name : 데이터베이스 링크의 이름을 지정 합니다.
- service_name : 네트워크 접속에 사용할 오라클 데이터베이스 네트워크 서비스명을 지정 합니다.
- username, password : 오라클 사용자명과 비밀번호를 지정 합니다.
☞ 데이터베이스 링크의 사용
-- 데이터베이스 링크 생성 예제
SQL>CREATE DATABASE LINK test_server
CONNECT TO scott IDENTIFIED BY tiger USING ’testdb’;
이 데이터베이스 링크 생성 문장에서 USING다음에 오는 testdb는 tnsnames.ora파일에 정의되어
있어야 합니다.
====== tnsnames.ora =====
testdb =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 211.109.12.123)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
=========================
-- 데이터베이스 링크를 통한 데이터의 조회..
SQL>SELECT ename FROM emp@test_server;
--시노님을 생성해서 사용하면 더욱더 편리하게 사용 할 수 있습니다.
SQL> CREATE SYNONYM emplink FOR emp@test_server;
-- 시노님을 통한 조회
SQL>SELECT ename FROM emplink;
데이터베이스 링크의 삭제..
SQL>DROP DATABASE LINK test_server;
================================================
* 데이터베이스 정보공유 커뮤니티 oracleclub.com
* 강좌 작성자 : 김정식 (oramaster _at_ naver.com)
================================================
반응형
'ORACLE > ADMIN' 카테고리의 다른 글
Oracle DBLink Script (0) | 2009.06.11 |
---|---|
LOB, LONG, LONG RAW 데이터 타입 간의 비교 (0) | 2009.04.22 |
[ DB Server의 dba group 아닌 다른 Unix 계정에 대해서 sqlplus 및 TNSNAMES.ORA 참조 환경 구성 ] (0) | 2009.04.10 |
SID, DB_NAME,GLOBAL_NAME (0) | 2009.04.08 |
[oracle]Column 단위로 권한 부여 하기 (0) | 2009.04.06 |