Database link
linux에서의 NFS처럼 oracle내에서 제공하는 원격접속 기능
dblink를 이용한 논리적인 장애 무정지복구 예제 : http://gyh214.tistory.com/107 참조
DB Link하기 전에!
Oracle Network
*네트워크 파일설정
클라이언트(tnsnames.ora) ---->
서버 192.168.0.16(SID:testdb, 신경쓸 파일 listener.ora)으로 연결 시 tnsnames.ora, listener.ora 파일내용
(해당 파일들은 netca실행 후 설정한 다음, $ORACLE_HOME/network/admin/ 아래에 저장됩니다.
생성방법 : http://blog.naver.com/neocp21c/140152325230 참고)
클라이언트에서 서버로 연결이 잘 되었나 확인하기
[oracle@server15 admin]$ tnsping testdb << testdb는 서버의 SID이름입니다.(tnsnames.ora안에 적힌 SID를 적어주시면 됩니다.)
DB Link ( dba_db_links 딕셔너리 )
1. 클라이언트에서 DB link생성
2. 서버쪽의 자료 확인
** 여러 DB link관련 명령어들
linux에서의 NFS처럼 oracle내에서 제공하는 원격접속 기능
dblink를 이용한 논리적인 장애 무정지복구 예제 : http://gyh214.tistory.com/107 참조
DB Link하기 전에!
Oracle Network
* DB Link는 클라이언트 쪽에서 생성해서 서버쪽으로 연결
*네트워크 파일설정
클라이언트(tnsnames.ora) ---->
서버 192.168.0.16(SID:testdb, 신경쓸 파일 listener.ora)으로 연결 시 tnsnames.ora, listener.ora 파일내용
(해당 파일들은 netca실행 후 설정한 다음, $ORACLE_HOME/network/admin/ 아래에 저장됩니다.
생성방법 : http://blog.naver.com/neocp21c/140152325230 참고)
클라이언트의 tnsnames.ora
# tnsnames.ora Network Configuration File: /home/oracle/product/10g/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.16)(PORT = 1521))
)
######## HOST는 서버의 IP입니다.
(CONNECT_DATA =
(SERVICE_NAME = testdb)
####### SERVICE_NAME은 서버의 dbname을 써주세요
)
)
서버의 listener.ora
# listener.ora Network Configuration File: /app/oracle/product/11g/network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = testdb) # 서버의 SID
(ORACLE_HOME = /app/oracle/product/11g)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.16)(PORT = 1521))
####### HOST는 서버의 IP를 적어주세요
####### HOST는 서버의 IP를 적어주세요
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
ADR_BASE_LISTENER = /app/oracle << 없어도 됩니다.
클라이언트에서 서버로 연결이 잘 되었나 확인하기
[oracle@server15 admin]$ tnsping testdb << testdb는 서버의 SID이름입니다.(tnsnames.ora안에 적힌 SID를 적어주시면 됩니다.)
TNS Ping Utility for Linux: Version 10.2.0.5.0 - Production on 19-FEB-2012 09:19:54
Copyright (c) 1997, 2010, Oracle. All rights reserved.
Used parameter files:
Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.16)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = testdb)))
OK (10 msec) << 연결이 잘 되는 것 확인
DB Link ( dba_db_links 딕셔너리 )
1. 클라이언트에서 DB link생성
SQL> create database link link_testdb 2 connect to koo 3 identified by mong_1 4 using 'testdb'; Database link created.
2. 서버쪽의 자료 확인
SQL> select * from koo.you@link_testdb 2 ; NO ADDRESS NICK ---------- ---------- ---------- 1 Taiw Any 2 Anya Study SQL> select * from koo.you; select * from koo.you * ERROR at line 1: ORA-00942: table or view does not exist << 클라이언트쪽에서는 해당 테이블이 없습니다.
** 여러 DB link관련 명령어들
**** 사용자에게 DB Link 생성 및 삭제 권한 부여 **** grant create database link, drop database link to user; grant create public database link to user; **** 모든 사용자가 사용가능한 DB Link 생성 **** create public database link link_name connect to id identified by password using 'server_SID'; << tnsnames.ora에 등록된 SID입니다. **** DB Link 삭제 **** drop database link link_name; **** public DB Link 삭제 **** drop public database link link_name; **** 연결된 DB Link 조회 **** select * from dba_db_links;
'Oracle > 백업&복구' 카테고리의 다른 글
백업&복구 13번째(Flashback) ; Row level Flashback (0) | 2012.02.19 |
---|---|
백업&복구 12번째(SQL loader) (0) | 2012.02.19 |
백업&복구 10번째(cloneDB를 이용한 무정지자료복구) (0) | 2012.02.19 |
백업&복구 9번째(datapump) (0) | 2012.02.19 |
백업&복구 8번째(export, import) (0) | 2012.02.18 |