You are on page 1of 23

13

Oracle Shared Servers

Copyright © 2004, Oracle. All rights reserved.


Objectives

After completing this lesson you should be able to do


the following:
• Identify when to use Oracle Shared Servers
• Configure Oracle Shared Servers
• Monitor Shared Servers

13-2 Copyright © 2004, Oracle. All rights reserved.


Establishing a Connection

Incoming
connection request
Listener

13-3 Copyright © 2004, Oracle. All rights reserved.


Dedicated Server Process

Server
process

User process

Listener

13-4 Copyright © 2004, Oracle. All rights reserved.


User Sessions

Server
process

User Session PGA

User process

Listener

13-5 Copyright © 2004, Oracle. All rights reserved.


User Sessions: Dedicated Server

User sessions

Server process
Server process
User session
Server process

13-6 Copyright © 2004, Oracle. All rights reserved.


User Sessions: Shared Server

Server
process

Dispatcher

Listener

13-7 Copyright © 2004, Oracle. All rights reserved.


Processing a Request
Shared server Instance
processes
S000
4 SGA
Response queue
Common for D000
S001 request queue Response queue

S002
3 for all for D001
dispatchers Response queue
for D002
2 5

Dispatcher Dispatcher Dispatcher


D000 D001 D002

Database server
6
1 User Client or
middle tier
process User
process

13-8 Copyright © 2004, Oracle. All rights reserved.


The SGA and PGA

Dedicated server: User session data is kept in the PGA.

SGA PGA
User
Shared pool and other Stack Cursor
session
memory structures space state
data

Oracle Shared Server: User session data is held in the SGA.


SGA PGA
User
Cursor Shared pool and Stack
session other memory
state structures space
data

13-9 Copyright © 2004, Oracle. All rights reserved.


Configuring Oracle Shared Server

Required parameter Optional parameters


• DISPATCHERS • SHARED_SERVERS
• MAX_SHARED_SERVERS
• CIRCUITS
• SHARED_SERVER_SESSIONS

13-10 Copyright © 2004, Oracle. All rights reserved.


DISPATCHERS

Specifies the number of dispatchers that are initially


started for a given protocol.

DISPATCHERS = “(PROTOCOL=TCP)(DISPATCHERS=2)\
(PROTOCOL=IPC)(DISPATCHERS=1)”

Dispatcher Dispatcher Dispatcher


D000 D001 D002
TCP/IP TCP/IP IPC

13-11 Copyright © 2004, Oracle. All rights reserved.


SHARED_SERVERS

Specifies the number of shared server processes


created when an instance is started up, and retained
during instance operation.

SHARED_SERVERS = 6

S000 S002 S004

S001 S003 S005

13-13 Copyright © 2004, Oracle. All rights reserved.


MAX_SHARED_SERVERS

• Specifies the maximum number of shared servers


that can be started
• Allows shared servers to be allocated dynamically
based on the length of the request queue

MAX_SHARED_SERVERS = 10

S000 S002 S004 S006 S008

S001 S003 S005 S007 S009

13-14 Copyright © 2004, Oracle. All rights reserved.


CIRCUITS

• Specifies the total number of virtual circuits that


are available for inbound and outbound network
sessions
• Contributes to total SGA size

CIRCUITS = 100

13-15 Copyright © 2004, Oracle. All rights reserved.


SHARED_SERVER_SESSIONS

• Specifies the total number of Oracle Shared Server


user sessions to allow
• Enables you to reserve user sessions for
dedicated servers

SHARED_SERVER_SESSIONS = 100

13-16 Copyright © 2004, Oracle. All rights reserved.


Related Parameters

Other initialization parameters affected by Oracle


Shared Server that may require adjustment:
• LARGE_POOL_SIZE
• SESSIONS
• PROCESSES
• LOCAL_LISTENER

13-17 Copyright © 2004, Oracle. All rights reserved.


Verifying Shared Server Setup

• Verify that the dispatcher has registered with the


listener when the database was started by issuing:

$ lsnrctl SERVICES

• Verify that you are connected using shared


servers by making a connection and then query
V$CIRCUIT view to show one entry per shared
server connection.

13-18 Copyright © 2004, Oracle. All rights reserved.


Data Dictionary Views

• V$CIRCUIT
• V$SHARED_SERVER
• V$DISPATCHER
• V$SHARED_SERVER_MONITOR
• V$QUEUE
• V$SESSION

13-20 Copyright © 2004, Oracle. All rights reserved.


Choosing a Connection Type

Unless otherwise configured, Oracle Net connections


will use:
• Shared server if one is available
• Dedicated server if a shared server connection is
not available
Using local or directory naming, the connection type
can be specified as part of the Net service alias.

13-21 Copyright © 2004, Oracle. All rights reserved.


When Not to Use Shared Server

Certain types of database work should not be


performed using shared servers:
• Database administration
• Backup and recovery operations
• Batch processing and bulk load operations
• Data warehouse operations

Dispatcher Server process

13-22 Copyright © 2004, Oracle. All rights reserved.


Summary

In this lesson you should have learned how to:


• Identify when to use Oracle Shared Servers
• Configure Oracle Shared Servers
• Monitor Shared Servers

13-23 Copyright © 2004, Oracle. All rights reserved.


Practice 13 Overview:
Oracle Shared Servers

This practice covers the following topics:


• Investigating the impact of dedicated server
connections on your system
• Configuring your system to use shared servers
• Investigating the impact of shared server
connections on your system

13-24 Copyright © 2004, Oracle. All rights reserved.


Practice Lesson 13

13-25 Copyright © 2004, Oracle. All rights reserved.

You might also like