본문 바로가기
정보관리(데이터베이스, DB)/오라클

[Oracle] DB-LINK(디비 링크)로 원격 DB를 편리하게

by 3604 2024. 4. 9.
728x90

출처: http://www.acronet.kr/25312

오라클에만 있는 데이터베이스 링크 기능, 나름 편리하네요.
처음 만나는 기능이라 간단하게 메모 남깁니다.
 
 
1. 정의 : 네트워크상의 다른 오라클 데이터베이스에 접속하기 위한 오라클 객체
 
2. 고려사항
   - HOST NAME 과 ORACLE_SID 는 서로 달라야 한다.
   - NLS_CHARACTER_SET 은 동일해야 한다. (다를 경우 데이터가 ??? 로 깨어져 표시됨)
 
3. 생성하기
   - tnsname 없이 생성
      CREATE DATABASE LINK remote_db
         CONNECT TO  your_ID IDENTIFIED BY  your_Pwd
         USING  '(DESCRIPTION =  
                  (ADDRESS = (PROTOCOL = TCP)(HOST=127.0.0.1)(PORT = 1521))  
                (CONNECT_DATA = (SERVICE_NAME = your_Service))  
              )' ; 
   - tnsname 으로 생성
      CREATE DATABASE LINK remote_db
         CONNECT TO your_ID IDENTIFIED BY your_Pwd
         USING server_inf ;
 
      tnsname.ora 에 아래와 같이 등록
      (D:\app\Win10\product\11.2.0\client_1\network\admin\tnsname.ora)
         server_inf =
              (DESCRIPTION =  
                  (ADDRESS = (PROTOCOL = TCP)(HOST=127.0.0.1)(PORT = 1521))  
                (CONNECT_DATA = (SERVER = DEDICATED)(SERVICE_NAME = your_Service))  
              )  
 
4. 사용하기
      SELECT * FROM tbl_name@remote_db ;
 
   * 사용 권한만 주어지면 update 도 가능
 
5. 삭제하기
      DROP DATABASE LINK remote_db ;

 

728x90