반응형
1. 데이터베이스 링크란?
데이터베이스 링크(Database Link)는 현재의 데이터베이스에서 네트워크상의 다른 데이터베이스에 접속하기 위한 접속 설정을 정의하는 오라클 객체입니다. 예를 들어, 'A' DB에서 'B' DB로 데이터를 조회하거나 변경할 수 있는 기능을 제공합니다. 단, 데이터베이스 링크는 단방향으로 동작하기 때문에, 상대 데이터베이스에서 이쪽 데이터베이스를 보려면 양쪽 모두에 각각 링크 설정이 필요합니다.
주의: DB 링크는 세션 연결이 지속되기 때문에 로컬 DB의 연결을 끊거나, commit/rollback을 수행해 세션을 종료해야 합니다.
2. 데이터베이스 링크 생성 명령어
CREATE [PUBLIC] DATABASE LINK link_name CONNECT TO username IDENTIFIED BY password USING 'service_name';
- PUBLIC: 공용 데이터베이스 링크를 생성하며, 이를 지정하지 않으면 본인만 사용할 수 있습니다.
- link_name: 데이터베이스 링크의 이름.
- username, password: 원격 DB에 접속할 오라클 사용자명과 비밀번호.
- service_name: 네트워크 접속에 사용할 오라클 DB의 서비스명.
3. tnsnames.ora 파일 수정
로컬 DB에서 원격지 DB에 접속하려면 tnsnames.ora 파일에 원격 DB 서버의 접속 정보를 추가해야 합니다.
예시:
TEST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.248)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = test)
)
)
추가된 접속 정보는 tnsping 명령어로 확인할 수 있습니다:
tnsping TEST
또는
sqlplus ID/PASSWORD@연결DB명
4. 데이터베이스 링크 생성 예시
CREATE [PUBLIC] DATABASE LINK DBLK_TEST CONNECT TO test IDENTIFIED BY test USING 'TEST';
5. 데이터베이스 링크 사용 방법
- 원격 테이블을 조회할 때:
SELECT * FROM remote테이블명@생성이름;
- 원격 계정의 테이블을 참조할 때:
SELECT * FROM remote계정.remote테이블명@생성이름;
6. 데이터베이스 링크 확인하기
- DBA가 관리하는 모든 링크 조회:
SELECT * FROM dba_db_links;
- 전체 사용자에 생성된 데이터베이스 링크 조회:
SELECT * FROM all_db_links;
- 현재 사용자에 생성된 데이터베이스 링크 조회:
SELECT * FROM user_db_links;
- 사용자 시노님(Synonym) 링크 조회:
SELECT * FROM user_synonyms;
7. 데이터베이스 링크 조회 예시
SELECT * FROM emp@DBLK_TEST; SELECT ename FROM emp@DBLK_TEST;
8. 시노님(Synonym) 생성 및 조회
시노님을 사용하면 TABLE, VIEW, SEQUENCE 등의 객체에 별칭(alias)을 줄 수 있습니다.
- 시노님 생성:
CREATE SYNONYM emplink FOR emp@DBLK_TEST;
- 시노님을 통한 데이터 조회:
SELECT ename FROM emplink;
9. 데이터베이스 링크 삭제
- 해당 계정에서 사용하는 링크 삭제:
DROP DATABASE LINK DBLK_TEST;
- 전체 데이터베이스에서 사용하는 공용 링크 삭제:
DROP PUBLIC DATABASE LINK DBLK_TEST;
반응형
'※ 소소한 IT > ORACLE' 카테고리의 다른 글
오라클 숫자 처리 함수 정리(반올림, 올림, 버림, 나머지, 승수) (0) | 2015.01.14 |
---|---|
오라클 LOCK 완벽 가이드: DML, DDL 잠금 유형부터 해결 방법까지 (0) | 2015.01.14 |
Oracle 테이블스페이스(TableSpace) 개념 정리 (0) | 2014.09.26 |
오라클(Oracle) 대용량 데이터 토드(Toad)를 이용해서 넣기 (0) | 2014.09.24 |
오라클에서 varchar 와 varchar2 의 차이점 (0) | 2014.09.24 |