반응형
오라클 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;
반응형
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
[Oracle] 오라클 RANK / DENSE_RANK / ROW_NUMBER 순위 함수 (0) | 2025.04.24 |
---|---|
[Oracle] 오라클 NVL / NVL2 / COALESCE 함수 차이점 정리 (0) | 2025.04.22 |
[Oracle] 오라클 파티션(PARTITION) 개념 및 종류 (Oracle PARTITION) (0) | 2025.04.10 |
[Oracle] 오라클 인덱스(INDEX) 개념 및 종류 (Oracle INDEX) (0) | 2025.01.31 |
[Oracle] 오라클 뷰(VIEW)와 시노님(SYNONYM) 사용 방법 (Oracle View,Materialized View) (0) | 2025.01.29 |