DataBase Link
작성자 관리자 작성시간 2008-01-10 13:18:58
 

DataBase Link


사용 이유
. 분산DB및 새로운 DB 도입시 기존 system과 합칠떄사용한다.

DB링크 사전준비
.Oracle Instance 2개이상
.각기다른 Platform에서 운용
.Host Name및 Oracle SID는 다르고 *NLS_Character SET은 동일 설정되어야한다..
(NLS_…설정이 다르게 되어있을시 데이터 출력시 ‘?’ 이런것으로 출력된다..
ex)
server a 에서 server b 에 있는 DATA를 DBLink로 select 및 view작성법
                Server a                server b
Hostname          SERA                          SERB
Oracle_SID          SIDA                          SIDB


1) Server A -> Server b 로 DBLINK생성

SYSTEM사용자로 로긴
(SQL*Net이 V1을 지원하는 경우)
SQL> create public database link A_TO_B using 't:SERB:SIDB'
이렇게 생성된 dblink는 각 user가 사용하는 시점에 해당 username, password를 가지고
remote database에 접속을 시도하게 됩니다.
만약 특정 ID로 접속시도하기 위해선..
SQL> create public database link A_TO_B connect to 계정ID identified by 암호 using 't:SERB:SIDB';
(*만약QL*Net V2를 사용한다면 CONNECT STRING(*t:SERB:SIDB*)에 TNSNAMES.ORA의 SERVICE명을 바로 사용합니다.(Oracle버젼 7.3부터는 SQL*Net이 V2만 지원 하므로 SERVICE명을 이용해서만 만들어야 합니다.))

2) Server B에 있는 Table의 Select 및 view작성
. SQL> create view emp_view as select * from emp@A_TO_B XXX
where XXX.deptno = 10;
여기서 XXX 는 ALIAS 입니다



3) SERVER-A 에서 동의어를 생성하여 사용 하는 경우
SQL> create synonym emp for emp@A_TO_B;
SQL> select * from emp; 로 한다면 간단히 분산 DB의 환경에서 사용할수 있습니다.
(단 SERVER TO SERVER로 NETWORK 환경이 구축되어 있어야 합니다.)

*NLS_CHARACTER_SET은?
데이터베이스의 문자셋이무엇인지를나타냅니다. NLS_CHARACTER_SET에는 WE8MSWIN1252, KO16LOS5601, USASCII 등등이 있습니다. 한글 윈도우에서 오라클을 디폴트로 설치하면 KO16MSWIN949 이라는 문자셋으로 설치 됩니다.

문자셋(CHARACTER SET) 변경
오라클 데이터베이스 관리자로 접속하여 NLS_CHARACTERSET, NCHAR의 CHARACTERSET에 한국어를 지원하도록 파라미터의 속성값을 KO16KSC5601로 변경한다.

언어셋(LANGUAGE SET) 변경
문자셋과 마찬가지로 오라클 데이터베이스 관리자로 접속하여 NLS_LANGUAGE 파라미터의 속성값을 AMERICAN_AMERICA.KO16KSC5601로 변경한다


목록 | 입력 | 수정 | 답변 | 삭제