無테고리 인생살이

오라클 DB간 데이터 주고받기, 데이터 연결 (feat. DB 링크) 본문

Database

오라클 DB간 데이터 주고받기, 데이터 연결 (feat. DB 링크)

無격 2024. 11. 18. 22:02

 

오라클 DB Link

한 오라클 DB에서 다른 오라클 DB에 연결하여 원격 데이터베이스의 객체(테이블, 뷰 등)에 접근할 수 있도록 해주는 오라클 기능입니다. 이를 통해 분산된 데이터베이스 간 데이터를 통합하거나 조회, 수정 작업을 수행할 수 있습니다.

 

 

 

DB 링크 확인

SELECT * FROM ALL_DB_LINKS;

 

 

 

DB 링크 생성

CREATE PUBLIC DATABASE LINK db_link_name
CONNECT TO remote_user 
IDENTIFIED BY remote_password 
USING '(DESCRIPTION =
        (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = remote_ip)(PORT = remote_port))
        )
        (CONNECT_DATA =
            (SERVICE_NAME = remote_sid)
        )
    )';
  • db_link_name: db link 이름
  • remote_user: 연결을 원하는 원격 DB 계정
  • remote_password: 연결을 원하는 원격 DB 패스워드
  • remote_ip: 연결을 원하는 원격 DB IP 주소
  • remote_port: 연결을 원하는 원격 DB Port 번호
  • remote_sid: 연결을 원하는 원격 DB SID

해당 값들을 직접 입력해 db 링크를 생성합니다.

 

 

# 해당 과정 중 db link 권한 불충분으로 생성할 수 없다면, SYS 계정으로 접속해 해당 계정으로 권한을 부여하면 됩니다.

# SYS 계정에 접속해, 사용자 계정에 DB LINK 생성/삭제 권한 부여
GRANT CREATE PUBLIC DATABASE LINK TO 사용자_계정;
GRANT DROP PUBLIC DATABASE LINK TO 사용자_계정;

# 권한 확인
SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE = '사용자_계정';

 

 

 

DB 링크 확인 및 연결된 원격 DB 테이블 조회

SELECT * FROM ALL_DB_LINKS;

SELECT * FROM table_name@db_link_name;