ORACLE
[ORACLE] DB LINK
from-sh
2022. 6. 28. 14:07
728x90
- Database Link
클라이언트 또는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체
다른 데이터베이스의 객체에 액세스 할 수있는 한 데이터베이스의 스키마 개체
고려 사항 : ORACLE_INSTANCE 두개 이상, HOST_NAME ORACLE_SID 다름, NLS_CHARACTER_SET 동일
1. tnsname.ora 설정
LISTENER =
(ADDRESS = (PROTOCOL = TCP)(HOST = <IP> or <HOSTNAME>)(PORT = 1521))
<SERVICE_NAME> =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <IP> or <HOSTNAME>)(PORT = 1521))
)
(CONNECT_DATA =
(SID = <SID_NAME>)
)
)
tnsping <SERVICE_NAME>
|
2. DB Link 조회
select * from dba_db_links; |
3. USER 생성 및 권한
create user test identified by "test"; [default tablespace test]
grant resource, connect to test;
grant create database link to test;
grant create (public) database link to 유저명;
|
4. DB Link 설정
create <public> database link <link_name> connect to <username> identified by <password> using <service_name>;
ex) create database link orcl connect to test identified by "test" using 'ORCL';
- public : 공용 데이터베이스 링크 생성 옵션, 사용하지 않을 경우 자신만 사용가능한 링크 생성
|
5. DB Link 사용
select * from <table명>@;</table명> |
6. DB Link 삭제
drop (public) database link <LINK_NAME>;
*tnsnames.ora 추가 없이 DB Link 설정 (1,2번 대신)
CREATE DATABASE LINK <LINK_NAME> CONNECT TO <USERNAME> IDENTIFIED BY <PASSWORD>
USING '(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = <IP> or <HOSTNAME>)(PORT = 1521))
)
(CONNECT_DATA =
(SID = <SID_NAME>)
)';
|
728x90