본문 바로가기

프로그래밍/데이터베이스

[Oracle] 오라클 DB 링크 (DB Link) 사용 방법 (권한, 생성, 삭제, 조회)

반응형

오라클 DB 링크란?

오라클 DB 링크는 말 그대로 한 데이터베이스에서 다른 데이터베이스의 객체에 접근할 수 있게 하는 링크를 말한다.

데이터를 직접 전송하거나 API를 사용하지 않고도 SQL 쿼리를 통하여 다른 서버의 데이터에 접근할 수 있어 유용하게 사용이 가능하다.

(운영 DB의 데이터가 반영되지 않은 테스트 DB에 운영 DB 데이터를 직접 insert하여 복사할 수 있음)

DB 링크 생성 및 사용 예시

예시 환경

- 테스트 DB : testdb
- 운영 DB : realdb

운영 DB 에서 테스트 DB로의 DB 링크 생성 과정

1. 권한 부여

GRANT CREATE DATABASE LINK TO real_user;

real_user 는 [사용자 계정], 운영 DB에 접속해서 권한을 부여해주어야 한다.

2. DB 링크 생성

CREATE DATABASE LINK testdb_link
CONNECT TO remote_user IDENTIFIED BY "password"
USING 'testdb';

'testdb' 는 테스트 DB의 TNS 명이고, 'tnsnames.ora' 파일에 설정이 되어 있어야 한다.

3. 데이터 조회

SELECT * FROM employees@testdb_link;

운영 DB에서 테스트 DB의 employees 테이블을 조회할 수 있다.

4. 데이터 삽입, 수정

INSERT INTO employees@testdb_link (name, position) VALUES ('John Doe', 'Manager');

운영 DB에서 테스트 DB의 데이터를 삽입할 수 있다.

-- 운영 DB에서 실행
-- 운영 DB employees 데이터 -> 테스트 DB employees 데이터로 복사
INSERT INTO employees@testdb_link (employee_id, name, position, hire_date)
SELECT employee_id, name, position, hire_date
FROM employees
WHERE EXTRACT(YEAR FROM hire_date) = 2024;

운영 DB의 employees 테이블 데이터 (2024년 입사자)를 DB 링크를 통해 테스트 DB의 데이터에 복사할 수 있다.

5. DB 링크 삭제

DROP DATABASE LINK testdb_link;

 

반응형