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;