전용서버 와 공유서버
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
목차
1 오라클 전용서버 와 공유서버[편집]
- 서버프로세스와 클라이언트를 연결하는 방식에는 아래 2가지가 있다.
1.1 전용 서버(Dedicated Server) 방식[편집]
- 요청이 올때 마다 서버프로세스를 새로 생성해서 연결하고 요청/응답하고 제거하는 방식
1.1.1 연결 과정[편집]
- Listener가 데이터베이스 연결 요청을 받음
- Listener가 서버 프로세스 생성 및 연결 요청
- 서버 프로세스가 resend 패킷을 클라이언트에게 전송
- 클라이언트에서 오는 요청에 대한 응답
- SQL을 수행할 때마다 연결 요청을 반복하면 서버 프로세스의 생성과 해제도 반복하게 되므로 DBMS에 큰 부담이 된다. 따라서 전용 서버 방식을 사용하는 OLTP성 애플리케이션에서는 Connection Pooling 기법을 사용해야 한다.
[편집]
- 하나의 서버 프로세스를 여러 사용자 세션이 공유하는 방식 * 미리 여러 개의 프로세스를 띄워놓고 이를 공유해서 재사용한다.
1.3 = 연결 과정[편집]
- Listener가 데이터베이스 연결 요청을 받음
- Listener가 가용한 Dispatcher 포트번호를 클라이언트에게 전송
- Dispatcher로 온 요청을 요청큐(Request queue)에 넣음
- 공유서버가 요청큐에서 요청을 가져와서 해결한 후 응답을 응답큐(Response queue)에 넣음
- Dispatcher가 응답큐로 부터 결과를 가져옴
- 결과를 클라이언트에 리턴