Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Does oracle db serialize concurrent read-only SELECT ?

Does oracle db serialize concurrent read-only SELECT ?

From: Jung Tjong <jtjong_at_cisco.com>
Date: Tue, 17 Apr 2001 11:43:43 -0700
Message-ID: <3ADC8EDF.28D814E2@cisco.com>

I'm new to Oracle, and while testing multiple concurrent select request I found that
the server seems to serialize cursor SELECT done from multiple threads or processes, Java (jdbc) or C++ (oci).

There is no write operations on the table, so there should not be any lock on it.
I'm doing a simple SELECT from 1 table and measure the time it takes to execute the select and fetch all the rows. The result of N concurrent SELECT are approximately N times a single SELECT.

I'm using ORACLE 8i - (No parallel server) I tried changing server parameters that may relate to this:

   max_cursor
   processes
   open_links
   mts_servers
   parallel_max_servers
   parallel_threads_percpu
I tried changing connection network parameters in the listener.ora, sqlnet.ora and tnsnames.ora files

   server = shared
   server = dedicated

The results are still the same.
I heard that the server process is single threaded, but I did set the mts_servers to N, I see the database started-up N ora_sxxxx_<i>dbname</i> processes.
In addition for each connection I open I see that it spawn one oracle<i>dbname</i> process. This seems to be the case whether I set the parameter for DEDICATED or MTS. I don't know which process is serializing the request.

It's hard to believe that this is how it is supposed to behave, or is it ? What do I need to do to improve this ?

Thanks Received on Tue Apr 17 2001 - 13:43:43 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US