학습자료(~2017)/오라클

21. 오라클 - 원격 데이터 베이스 액세스

단세포소년 2011. 4. 7. 11:27
반응형
. Network 으로 연결된 Database와의 통신을 위해 SQL * NET 또는 NET 8 이라는 Network 통신 모듈이 제공된다.
. Network 으로 연결된 Database를 Access하기 위해 Client에는 tnsnames.ora, sqllnet.ora 파일이 있어야 하며 Server 에는 Listener.ora 파일이 있어야 한다.
. Server 가 Client의 요청을 받기 위하여 Listener가 구동되어 있어야 한다.
. Database 간의 통신을 위해 Database Link 를 사용할 수 있다.
. Client / Server 개념은 상대적이며 Server가 때로는 Client 역활을 수행 할 수도 있다.


- tnsnames.ora 작성법
 - > 홈/Network/ADMIN 에 있다.
 - > GUI 환경에서 편히 작업하고 싶으면 Net Manager 유틸을 이용하라. (오라클 설치시 설치되어있다.)

- listener.ora 작성법
- > 홈/Network/ADMIN 에 있다.
- > GUI 환경에서 편히 작업하고 싶으면 Net Configuration Assistant 유틸을 이용하라. (오라클 설치시 설치되어있다.)



- listener 실행
 명령 프롬프트창
 - > lsnrctl start // 서비스 시작
 - > lsnrctl status // 상태보기
 - > lsnrctl stop // 중지




- 원격 데이터베이스 액세스 - 원격 데이터 베이스 접속
 - > id/password@서비스이름
    - > 서비스이름은 내 컴퓨터에 등록한 원격지 데이터베이스에 별명이다. 곧 나만 알고 있는 이름이다.
 - > 예) tnsnames.ora 파일에 ORATEST 라는 서비스이름(별명)으로 원격지 데이터베이스 orcl 이 등록되 있다.
     -> scott/tiger@ORATEST 라 실행시키면 된다.





- Net Manager 를 이용한 GUI로 tnsnames.ora 편집


1. "로컬 -> 서비스이름 지정 " 을 클릭하고 왼쪽 상단쪽의 플러스(+) 추가 버튼을 클릭한다.



 


2. 네트 서비스 이름 에 자신이 붙이고 싶은 이름을 입력한다. (아무거나 괜찮다. 자신만아는 별명이다.)




3. 프로토콜을 지정하는 부분이다. 인터넷 원격지이기 때문에 TCP/IP(인터넷 프로토콜)을 선택한다.(특수한 경우 다른걸 선택해서 사용해도 된다.)



4. 호스트 이름에는 원격지 데이터베이스의 IP주소를 입력하고 포토 번호에도 원격지 데이터베이스의 포트를 입력한다. 포트의 경우 1521이 기본이다.



5. 서비스 이름을 등록하는 곳이다. 이건 원격지 데이터베이스의 서비스 이름을 입력하는 부분이다.(이건 원격지 데이터베이스 관리자에게 물어봐야한다. 이 서비스 이름 혹은 SID 가 다르다면 접속이 불가능하다.)  네트 서비스 이름이 별명이라면 서비스이름 혹은 SID 는 실제 이름이다.




6. oratest 라는 자신이 만든 네트 서비스 이름이 등록되있는 것을 알 수 있다.



7. 원격지 데이터 베이스에 접속 가능한 id, passwd 와 네트 서비스 이름을 ' id/passwd@네트서비스이름 ' 형식으로 입력하여 접속한다.





- 데이터 베이스 링크 생성
 CREATE DATABASE LINK linkname  CONNECT TO id IDENTIFIED BY passwd USING 'net service name';
 - >  linkname은  편의상 호스트 네임(db.shop.co.kr 이런식)으로 쓰는것이 좋다.
 - > 'net service name' 은 tnsnames.ora 에 등록한 별명이다. 바로 위 예제에서 만든 oratest 같은 것을 말한다.

- 데이터 베이스 링크 사용
 예) SELECT * FROM emp@db.shop.co.kr;

- SYNONYM 생성 (원격지 데이터 베이스의 테이블을 간편한 별명으로 만들때 유용하다.)
 예) CREATE SYSNONYM emp_shop FOR emp@db.shop.co.kr ;

- SYNONYM 사용
 예) SELECT * FROM emp_shop;


- 데이터 베이스 링크를 사용하는 이유
데이터 베이스 링크를 사용하는 경우는 특정 원격 데이터 베이스를 A,B,C 등 여려 사용자가 링크로 원격 데이터 베이스를 사용하면
원격 데이터베이스의 호스트이름(IP)가 변했을때 링크의 정보만 바꾸면 되어 편하다.
링크를 사용하지 않으면 각 사용자가 각각 원격 데이터베이스의 호스트이름(IP)를 바꾸어 등록해야 하는 불편함이있다.
(.. 내가 쓴 글인데도.. 말이 참.. 애매하네요.. 알아서들 이해하세요...)



- 대충 정리
. tnsnames.ora 와 listener.ora 가 있어야한다.
. 서버는 listener 가 실행되고 있는 상태여야한다.
. 데이터 베이스 링크를 만들어 사용한다.
. 데이터 베이스 링크의 특정 테이블은 SYNONYM 이나 VIEW 를 이용한다.
 

반응형

'학습자료(~2017) > 오라클' 카테고리의 다른 글

22. 오라클 - Export & Import  (0) 2011.04.11
20. 오라클 - INDEX 종류 및 활용  (2) 2011.03.31
19. 오라클 - ROLES  (0) 2011.03.29
18. 오라클 - OBJECT PRIVILEGES  (0) 2011.03.29
17. 오라클 - SYSTEM PRIVILEGES  (0) 2011.03.29