In Oracle shared server mode, what is a virtual circuit?
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.