728x90
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 테이블에 접근하여 데이터를 조회하는 예시입니다.
감사합니다.
728x90
'데이터베이스 > 오라클' 카테고리의 다른 글
[Oracle] JOB 스케줄러 실행 정보 조회 (0) | 2024.09.19 |
---|---|
[Oracle] 문자열 리스트 프로시저에 전달하기 (0) | 2024.09.09 |
[Oracle] java.sql.SQLException: 소켓에서 읽을 데이터가 없습니다. (0) | 2024.08.12 |
[Oracle] DB CharacterSet 조회 및 수정 방법 (0) | 2024.05.22 |
[Oracle] 오라클 모든 테이블과 컬럼 조회하기 (0) | 2024.05.13 |