HiveBrain v1.2.0
Get Started
← Back to all entries
patternMinor

In Oracle shared server mode, what is a virtual circuit?

Submitted by: @import:stackexchange-dba··
0
Viewed 0 times
sharedwhatmodeserveroraclevirtualcircuit

Problem

I read that shared server mode allows dispatcher processes to use two new SGA sturctures : queues (request and response) and UGA (which is just PGA "flushed" in SGA)

So with a that, a single dispatcher can handle several client connections.

My issue is I saw an expression I don't understand : "virtual circuit". What does it do and where exactly is it positionned ?

Solution

Its a shared memory(in SGA) used by dispatcher for client connection requests and responses.


In a shared server configuration, client user processes connect to a dispatcher. The dispatcher can support multiple client connections concurrently. Each client connection is bound to a virtual circuit, which is a piece of shared memory used by the dispatcher for client database connection requests and replies. The dispatcher places a virtual circuit on a common queue when a request arrives.

Reference

In other words, its a memory where the actual request is stored and shared server can know what it has to serve by reading this memory. For example if a client sends a query lets say select * from emp, the dispatcher has to store it somewhere so that an idle shared server process can pick it up and process further. The somewhere is the virtual circuit.

Context

StackExchange Database Administrators Q#160154, answer score: 5

Revisions (0)

No revisions yet.