본문 바로가기

Web Develop Tech/Oracle9i Fundmantal II

ORACLE - Oracle .Net 연결

Oracle Net 연결


▶ Oracle Net은 다음 조건에 따라 네트워크에 있는 응용 프로그램 간에 연결을 설정하는데 사용된다.
- 네트워크 구성
- Node의 위치
- 응용 프로그램
- 네트워크 프로토콜
▶ 연결유형
- 클라이언트 – Server 응용 프로그램 : 가장 쉽게 말하면 SQL Plus가 될 수 있다.
- Java 응용 프로그램
- 웹 클라이언트 응용 프로그램

클라이언트 – Server 응용 프로그램 연결



[그림 설명] SQL Plus 에서 사용하는 내부 프로토콜이라고 할 수 있다.

> Oracle Protocol Supprt : 오라클 넷이 설치되면 대부분의 프로토콜 어댑터가 설치되는데, 클라이언트에서

작성되어진 프로토콜 언어를 네트워크 프로토콜 언어로 변환해준다.

> 오른쪽 표에서는 스택구조로 가장 마지막에 처리되었던 네트워크 프로토콜을 받아 단계별로 처리하고

최종적으로는 Oracle RDBMS 로 전달된다.

웹 클라이언트 응용 프로그램 연결


▶ 웹 브라우저는 다음 방식으로 Oracle Server에 연결할 수 있다. [3계층 구조]
▶ 다음 중 하나로 구성되는 중간 계층으로 응용 프로그램 웹 Server를 사용한다.
- JDBC OCI (Oracle Call Interface) 드라이버
- Thin JDBC 드라이버


▶ HTTP를 사용하여 Oracle Server에 직접 연결

- i-SQL 방식과 같이 클라이언트가 DB의 정보를 바로 받아온다.



[그림 설명] 웹 클라이언트 응용 프로그램 연결 : 응용 프로그램 웹 Server 중간 계층

웹 클라이언트 응용 프로그램 연결 : Java 응용 프로그램 클라이언트




웹 클라이언트 응용 프로그램 연결 : Java 애플릿 클라이언트


HTTP를 사용한 웹 연결




웹 브라우저 직접연결




개념 및 용어


 Database 서비스

• 서비스 이름

 Database 논리적 표현

 Database 클라이언트에 표시되는 방식

• Connect Descriptor

 Database  위치

 Database 서비스의 이름

- 이것은 클라이언트도 필요하고 DB 서버에게도 필요하다.

• Listener

 클라이언트의 연결 요청 수신

 Database Server  요청 전달

- 서버측에서 필요한 구성요소, 즉. 원격에서 접속하려고 하는 클라이언트들의 접속을 수신하는 프로세서

- 오라클 인스턴스 외부에 존재하는 것이며, DB를 Shutdown 하더라도 존재할 수 있다. DB와 독립적

 서비스 등록

 Database Listener 정보 등록

 각 Instance 사용할  있는 서비스 처리기

-Listener가 DB의 정보를 알아야 하는데(즉, Startup 이 되어 Connect가 가능한 상태),

DB의 정보를Listener 에게 알려준다. (서비스동록이라고 한다)

- 구성방법은 수동 / 자동(파라미터 파일)

• 서비스 처리기 (Service Handler)

 연결 지점

- 클라이언트의 최종목적지(서버에 따라 달라질 수 있다)

 Dispatcher 또는 Dedicated Server

- Dispatcher 라면 서버가 Shared Server를 의미.

-클라이언트가 Dedicated Server로 연결하면 Spawn - Bequeath 접속방식(?)

-클라이언트가 Listener를 통해 Dispatcher로 연결하면 Redirect 접속 방식== Direct hand-off

Oracle .net 구성모델


 지역화된 관리
- 네트워크의 각 컴퓨터에 있는 로컬 파일

- 오라클 설치시에 설치되는 tnsnames.ora 파일을 수정하여 접속.

- 배포는 오라클 DB 관리자가 사용할 클라이언트에게 사본으로 각 컴퓨터에 설치를 하여 사용하고

접속법만 가르쳐 준다.

- 문제점 : 관리할 컴퓨터가 늘어나면, 관리자가 매우 힘들다 -_-;;; 노가다 구나 .

DB가 변경이 되면, 배포된 모든 tnsnames.ora 를 재배포 하거나 수정을 해야 한다.

 중앙화된 관리
- LDAP 호환 Directory Server
- Oracle Names Server
- 중앙에 Name Server 를 배치시켜 관리한다.

- Oracle 9i 이상 버전에서는 Oracle Names 두 가지가 있다.

Oracle Internet Directory(LDAP)

- Names Server 를 사용함으로써 외부로 서버의 위치를 노출하지 않기 때문에, 보안상의 이점도 있다.

이름 지정 방식 개요


 이름 지정 방식은 Database 서비스에 대한 연결을 시도할 때 클라이언트 응용프로그램에서 연결 식별자를

Connect Descriptor로 변환하기 위해 사용한다.

(oracle:thin:@localhost ............) <--이것처럼 @ 뒤에 붙는 식별자를 의미하며, 이것은 IP만 되는 것이 아니라.

다른 방식으로도 가능하다.


 Oracle Net은 다음의 다섯 가지 이름 지정 방식을 제공한다.
- 호스트 이름 지정
- 로컬 이름 지정
- Directory 이름 지정
- Oracle Names
- 외부 이름 지정 - 비 오라클 방식을 의미하며, 흔하지 않다.

Oracle Net 구성 파일


 ldap.ora: 요즘은거의 사용하지 않는다. 인터넷 디렉토리 서버(미들티어)를 구성
 names.ora : 
 tnsnames.ora :현재로서 아직까지는 가장 많이 사용하는 방식. (클라이언트가 필요한 파일)
 listener.ora: 오라클 데이터베이스 서버가 필요한 파일.

 sqlnet.ora

: 클라이언트 / 서버를 가리지 않고, 어느 컴퓨터에라도 있을 수 있는 파일이며,

수많은 네트워크 관련 파라미터를 가지고 있다.