안녕하세요. 첫번쨰 포스트입니다.
신입 초보 개발자인데.. 공부 하면서 자꾸 잊혀지는 것들을 포스팅 해볼 요량인데
효과가 있었으면 좋겠습니다.
SI개발자로써 두번째 프로젝트 투입 전
DB링크란걸 해보게 될거같아 미리 공부해봅니다.
○ Oracle DB Link란
말그래도 'LINK', 서로 다른 DB를 연결한다는 뜻입니다., 그리고 연결을 위한 타DB 접속설정을 정의하는 오라클 객체 를 DB Link라 합니다.
그냥 쉽게 다른 DB에 접근하는 걸 DB Link라 이해하면 될 것 같습니다.
단, 이것은 Oracle DB만 가지고 있는 기술이고, 타DBMS와는 Link가 불가합니다.
○ Oracle DB Link 설정을 위한 조건
우선 3가지 전제조건이 있습니다.
1. *Oracle Instance가 2개 이상이어야한다.
2. 연결할 두 DB의 *HOST NAME과 *ORACLE SID가 달라야한다.
3. *NLS_CHARACTER SET은 동일해야한다.
* Oracle Instance : DBMS가 작업을 하는공간, 메모리 (Background Process와 SGA 메모리 영역을 일컫는다)
* HOST NAME : 사용자 구분을 위해 만들어진 IP 대신 쉽게 사용하는 것.
* ORACLE SID : 각 인스턴스는 고유의 이름
* NLS_CHARACTER SET : 말그대로 문자 Character Set, 서로 다른 Charecter Set이면 조회시 문자가 꺠진다.
○ Oracle DB Link 생성을 위한 문법
CREATE DATABASE LINK 링크네임
CONNECT TO 유저네임 IDENTIFIED BY 패스워드 USING 서비스네임
ex)
-- 데이터베이스 링크 생성
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;
'개발언어 > 데이타베이스' 카테고리의 다른 글
MSSQL DBLink(디비링크) 방법 (0) | 2021.06.02 |
---|---|
[Oracle] DB Link (0) | 2021.06.02 |
데이터베이스 링크(Database Link)란? (0) | 2021.06.02 |
DBLink 이유 사용법 (0) | 2021.06.02 |
C#사용을 위한 티베로6(tibero6)의 ODBC연결 및 OLEDB연결 (1) | 2021.03.25 |