클라이언트나 한 데이터베이스에서 네트워크 상의 다른 데이터베이스에 접속하기 위한 설정을 해주는 오라클 객체
1521
가 열려 있어야 한다.telnet 111.111.111.111 1521
tnsnames.ora
파일에 'B' DB 접속 정보를 추가해준다.GRANT CREATE DATABASE LINK TO A_DB_ID;
REVOKE CREATE DATABASE LINK FROM A_DB_ID;
GRANT CREATE PUBLIC DATABASE LINK TO A_DB_ID;
GRANT DROP PUBLIC DATABASE LINK TO A_DB_ID;
CREATE [PUBLIC] DATABSE LINK 링크이름
CONNECT TO 상대유저네임 IDENTIFIED BY "비밀번호"
USING '연결한 DB의 TNS'
-- tnsnames.ora
B_DB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 111.111.111.111)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracle)
)
)
CREATE DATABASE LINK TEST_LINK CONNECT TO B_DB_ID IDENTIFIED BY "PASSWORD" USING 'B_DB';
TEST_LINK
: LINK 이름B_DB_ID
, PASSWORD
: 'B' DB 접속 아이디(username)와 패스워드'B_DB'
: 'A' DB의 tnsnames.ora에 등록된 'B' DB의 nameSELECT * FROM REMOTE_TABLE@TEST_LINK;
REMOTE_TABLE
: 원격지 오라클 DB의 테이블명B_DB_ID
의 권한으로 조회가 가능한 테이블만 컨트롤 가능SELECT * FROM ALL_DB_LINKS;