티스토리 뷰

1. DB_LINK란?

DB_LINK(Database Link)는 한 데이터베이스에서 다른 원격 데이터베이스에 접근할 수 있도록 해주는 Oracle의 기능입니다. 이를 통해 서로 다른 데이터베이스 간에 데이터를 쉽게 주고받을 수 있습니다. 주로 분산 데이터베이스 환경에서 사용되며, 네트워크 상에 있는 다른 데이터베이스의 객체를 로컬 데이터베이스처럼 사용할 수 있게 해줍니다.

 

2. DB_LINK 확인 쿼리

이미 생성된 DB_LINK를 확인하려면 아래의 SQL 쿼리를 사용합니다.

-- 전체 데이터베이스의 모든 DB_LINK 정보 (DBA 권한 필요)
SELECT * FROM dba_db_links;

-- 현재 사용자의 스키마에 정의된 DB_LINK 정보
SELECT * FROM user_db_links;

-- 현재 사용자가 접근할 수 있는 모든 DB_LINK 정보
SELECT * FROM all_db_links;

 

3. DB_LINK 등록

DB_LINK를 등록하려면 CREATE DATABASE LINK 명령어를 사용합니다. 예를 들어, 원격 데이터베이스에 접속하기 위해 DB_LINK를 생성하려면 아래와 같이 쿼리를 작성할 수 있습니다.

CREATE DATABASE LINK remote_db_link
CONNECT TO remote_user IDENTIFIED BY password
USING 'remote_database';
  • remote_db_link: 생성할 DB_LINK의 이름
  • remote_user: 원격 데이터베이스의 유저명
  • password: 원격 유저의 패스워드
  • remote_database: 원격 데이터베이스의 TNS 이름

또는 tnsnames.ora 파일을 사용할 경우 아래와 같이 작성하시면 됩니다.

MYDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = mydbhost.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = mydbservice)
    )
  )

 

4. DB_LINK 사용

DB_LINK를 이용해 원격 데이터베이스의 테이블에 접근하려면 다음과 같이 쿼리를 작성합니다.

SELECT * FROM employees@remote_db_link;

 

위 쿼리는 remote_db_link를 통해 원격 데이터베이스의 employees 테이블에 접근하여 데이터를 조회하는 예시입니다.

 

 

감사합니다.

최근에 올라온 글
Total
Today
Yesterday