[ 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 ; | |