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 ?


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.

enter image description here


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.

  • But... what's the difference between the virtual circuit and the request queue?
    – Dudoso
    Jul 26 '17 at 17:44
  • @Dudoso You'll have to be more precise the context in which that expression was seen.... When you read virtual circuit , it seems it's the same thing... Post another question directly or ask JSapkota about it in another comment
    – Jason Krs
    Jul 27 '17 at 9:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.