[ Oracle - DATABASE LINK 사용 방법 ]

 

먼저 한글 data간의 전달을 위해 두 db간의 character set이 같아야 합니다.

character set을 확인하는 방법은

 

sqlplus system/manager

select * from v$nls_parameters;

하여 보면 nls_characterset에 대한 값이 나옵니다.

 

     

    예를 위해 다음과 같은 환경을 가정하겠습니다.

           

                      HOST NAME : HP7 - SUN7

               

                      ORACLE_SID : ORA7 - ORATEST

           

    이라 할 때

 

    1) HP7 에서 SUN7로 DB LINK 생성하기.

 

            scott/tiger 로 Login

 

        SQL*NET V1의 경우

            SQL> create public database link HP7TOSUN6

                                connect to scott identified by tiger

                                using 't:SUN7:ORATEST';

 

        (rdbms 7.3 이상은 SQL*NET v2 를 사용하십시오)

 

 

        SQL*NET V2의 경우

            SQL> create public database link HP7TOSUN7

                      connect to scott identified by tiger

                      using 'ORATEST';

 

            로 하면 된다.

 

            이 때 V2인 경우의 ORATEST는 $ORACLE_HOME/network/admin/ directory의

            tnsnames.ora file 내에 지정된 service name이다.

            tnsnames.ora의 service name이 잘 setting 되어 있는지 확인하는 방법

            : SQL*Plus scott/tiger@service name했을 때, SQL*Plus에 log-in되어야

            합니다.

           

 

    2> SUN7 에 있는 TABLE의 select 및 view(view는 필요에 따라 생성) 작성,

          HP에서 작업

         

            SQL> select * from emp@HP7TOSUN7;

 

            SQL> create view emp_view as select *

                      from emp@HP7TOSUN7 a

                      where a.deptno = 10;

                                         

    3> HP7 에서 SYNONYM을 생성하여 사용하는 경우

 

                  SQL> create synonym emp for emp@HP7TOSUN7;

                  SQL> select * from emp;

 

      로 한다면 간단히 분산 DB의 환경에서 사용할 수 있습니다.

 

    select를 제외한 DML(insert, update, delete)을 하려면,

    sql*plus log-in 시에 다음과 같은 option이 display 되어야 합니다.

 

    SQL*Plus: Release 3.3.3.0.0 - Production on Mon Jan 19 14:18:47 1998

    Copyright (c) Oracle Corporation 1979, 1996. All rights reserved.

 

    Connected to:

    Oracle7 Server Release 7.3.3.4.0 with the 64-bit option - Production

    Release With the distributed, ......

    ------------------------------------

 

    remote 작업의 예

 

    select * from table_name@HP7TOSUN7;

    insert into table_name@HP7TOSUN7;

    delete table_name@HP7TOSUN7;

    ...

 

    (단 SERVER TO SERVER로 NETWORK 환경이 구축되어 있어야 하고,

    listener 가 반드시 떠 있어야 합니다.)

 

 

Posted by 농부지기
,

[ Oracle - DataLink_예제1 ]

 

1.예제

 

initXXXX.ora 에서  global_names = false   // false 로 설정되어 있지 않으면 연결되지 않는다... 설정후 오라클을 다시 올린다...

 

create public database link choi_link

connect to sepsDb identified by seps02

using 'seps'

 

 

select * from tb_lca_allo_mst@choi_link

 

 

설명....

choi_link : link할 이름

sepsDb : trans.ora 에서 설정해주 이름

seps02 : password

seps   : id

 

참고 사이트 : http://www.koug.net/

 

Posted by 농부지기
,

[ Oracle - DB Link 생성 방법 및 SYNONYM 생성 방법 ]

 


☞ 정의 : 2개의 USER간에 Table을 select/insert/update/delete를 할 수 있도록 Oracle에서 재공하는 Object이다.

1. 작업 환경 (예)
 

1. DB User 2개 필요
    A. 첫 번째 db user    id - [EHR],    pass - [PAY]
    B. 두 번재 db user    id - [MIG],     pass - [RET]

2. EHR  user에서 MIG user 에 있는 table을 사용하고 싶다.

3. EHR  user에 [DBA 권한] 또는 [LINK를 생성]할 수 있는 권한이 존재 해야 된다.
    [DBA 권한 부여 방법]
        a. SYS나, SYSTEM 으로  Login 한다.
        b. GRANT  DBA TO  EHR ;
    [ 또는 ]
             grant create database link to EHR; 
    [ 또는 ]
              EHR User에 권한을 부여하지 않고, DBA권한이 있는 User로 접속후 해야 된다.

4. 문자 character 가 서로 동일 해야 된다.
    [문자 Character 동일 방법 검사]
        a. select * from v$nls_parameters; 
            하면  nls_characterset  에 대한 값을 확인 한다.
        b.  EHR, MIG 각 USER 별로 확인 한다.


2. DB Link 생성 및 Synonym 생성

 

1. DB Link 생성
    ;    
    A. EHR  User  또는 DBA 권한이 있는 User 로 Login 한다.
    B. EHR  User에서  MIG 의 Table을 사용하도록 DB Link를 생성한다.
    C. create public database link ehr_TO_mig
        connect to MIG identified by RET 
        using 'EHR';

2. DB Link를 이용해서 상대방 테이블 접속하기
    A. 사용형식 : SELECT * FROM   상대방table_name@db_Link_name;
    B. 사용  예  : SELECT * FROM   T_payment@ehr_TO_mig;.

3. Synonym 생성하기
    A. 형식   :  CREATE SYNONYM  ehr_user가_사용할_table_name
                                                   FOR 상대방table_name@db_link_name;
    B. 생성예 : CREATE SYNONYM T_payment@ehr_TO_mig FOR T_payment@ehr_TO_mig;
    C. Synonym은 모든 table에 각각 한 개씩 만들어야 사용할 수 있다.


3. 사용 예제

 

1. DB Link를 생성 후 사용방법
    A. SELECT * FROM   T_payment@ehr_TO_mig;.`

2. Synonym 생성 후 사용방법
    A. SELECT * FROM   T_payment;


4. DB Link 삭제 및 Synonym 삭제

 

1. DB Link 삭제
    A.  

2. Synonym 삭제
    A.  사용형식 : DROP SYNONYM  synonym_table_name;
    B.  사용  예  : DROP SYNONYM  T_payment ;


 

'(DB) Oracle > Object & Utility' 카테고리의 다른 글

Oracle - DB Scheduler_스케쥴러  (0) 2017.01.21
Oracle - DB Link  (0) 2017.01.21
Oracle - DATABASE LINK 사용 방법  (0) 2017.01.21
Oracle - DATABASE LINK 사용 방법  (0) 2017.01.21
Oracle - DataLink_예제1  (0) 2017.01.21
Posted by 농부지기
,