본문 바로가기

ORACLE/ORACLE_Admin

Shared Server 설정

반응형

## 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