## Dedicated Server
→ 클라이언트마다 하나의 서버 프로세스(1:1)
▶ 장점
- 명령 처리가 빠름
▶ 단점
- 리소스 낭비 발생
## Shared Server
→ 적은 서버 프로세스 풀을 많은 수의 클라이언트에 사용 가능
▶ 과정
Server Process와 Dispatcher Process를 기동시켜 놓고 User Process가 연결 요청을 했을경우 리스너가 받아서 Dipatcher에게 보내준다. 그러면 요청이 들어왔을 때 Dispatcher가 받아서 SGA 메모리에 Request Queue안에 요청 순서대로 넣는다.
▶ 장점
- 리소스 낭비가 발생하지 않음
▶ 단점
- 명령 처리가 느림
## Dedicated Server, Shared Server 생성 및 구동
1. 클라이언트쪽 tnsnames.ora에 Shared Server로 접속 하기위해 호스트명을 추가
# Dedicated Server
D_ORA19C=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORA19C)
)
)
# Shared Server
S_ORA19C=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.15)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME = ORA19C)
)
)
※ HOST에 1. host name 을 넣는경우, 2. 직접ip를 입력하는경우 두가지가 있지만, 일반적으로 host name을 넣음
-> 나중에 IP 변경 시 관리가 쉽기 때문
2. Dispatcher 생성
→ 최초 2개, 최대 5개
※ Dispatcher : Client가 보낸 요청을 받아서 request queue에 전달하는 역할
3. Shared server process 개수는 최초 2개, 최대 10개로 생성
4. 504개 세션을 동시에 생성할 수 있고 shared_server_sessions 는 490개 Dedicated 세션은 14개로 설정
5. Dedicated 방식, Shared 방식으로 접속
5.1 dedicated 방식
5.2 shard 방식
6. sqlplus에서 접속 확인
SQL> col sid format 999
SQL> col seiral# format 999999
SQL> col username format a20
SQL> col type format a10
select sid, serial#, username, type, server
from v$session
where username in ('SYS', 'SCOTT')
3 4 and type = 'USER';
7. 리눅스 명령어로 Dispatcher, Shared Server 프로세스를 확인
$ ps -ef | grep ora_[ds]0
'ORACLE > ORACLE_Admin' 카테고리의 다른 글
export / import (1) | 2023.05.14 |
---|---|
impdp/expdp (0) | 2023.05.01 |
alert log 확인 (단계별 기동/중지, SMON kill) (0) | 2023.04.18 |
ORACLE Controlfile (0) | 2023.04.17 |
Undo 테이블스페이스, Redo Log 파일 (0) | 2023.04.17 |