Take the 2-minute tour ×
Database Administrators Stack Exchange is a question and answer site for database professionals who wish to improve their database skills and learn from others in the community. It's 100% free, no registration required.

After reading the Oracle docs, it´s still not clear for me if an Oracle process is created for every SQL statement or just for every connection (or not really related to both).

Any comment here would be really great.

Thanks.

share|improve this question
add comment

3 Answers

A process is created per connection, which can then execute SQL statements for the duration of the connection.

A SQL statement may use more than one Oracle background process (for things like Parallel Query) during its execution, but these aren't forked specifically for the SQL statement.

Note that I'm ignoring things like connection pooling (DRCP) and shared servers (MTS) to keep the answer simple.

share|improve this answer
    
Thanks Phil. The explanation is concise and crystal clear. –  Juan Mar 8 '12 at 10:44
add comment

The Overview of Server Processes from the 11.2 Oracle Concepts Guide includes the following information:

In dedicated server connections, the client connection is associated with one and only one server process. On Linux, 20 client processes connected to a database instance are serviced by 20 server processes.

Each client process communicates directly with its server process. This server process is dedicated to its client process for the duration of the session.

share|improve this answer
    
Linking to the Oracle docs, so little space for doubt :) Thanks! –  Juan Mar 10 '12 at 8:46
add comment

Whenever a SQL statement is fired from oracle, it just creates a psedocode of that SQL Statement and stores it in the Library cache (Shared SQL Area).

This is stored basically for fast retrieval and reuse the SQL statements present in Cache. So, there would not be any process created when a SQL statement is fired. But as Phil said,

A SQL statement may use more than one Oracle background process (for things like Parallel Query) .

SQL statement uses the background process but doesn't create it.

This link might be useful for you. Kindly Check this.

share|improve this answer
    
As I said "but these aren't forked specifically for the SQL statement"..... –  FreshPhilOfSO Mar 12 '12 at 15:26
    
@Phil can you tel what is incorrect in my above comment. Thanks –  Vimal Mar 13 '12 at 11:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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