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.

The following is an except from oracle documentation.

Overview of User Processes

When a user runs an application program (such as a Pro*C program) or an Oracle tool (such as Enterprise Manager or SQL*Plus), Oracle creates a user process to run the user's application.

http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm

As my understand, an user process is a piece of software that can connect to an oracle server. You (the user) can start a piece of this kind of software, then connect to oracle. If so, why Oracle creates a user process to run the user's application?

Thanks.

share|improve this question

2 Answers 2

up vote 5 down vote accepted

an user process is a piece of software that can connect to an oracle server. You (the user) can start a piece of this kind of software, then connect to oracle.

Not quite. A User Process in Oracle is different than a client, which is what I think you are referring to. The user starts a client program (SQL*Plus, Pro*C, etc.), which runs on the client system. This program contacts the Oracle database server, typically either via TNS or IPC. It is the Oracle database that spawns the User Process. It's a bit confusing terminology in that a User Process from the database perspective is really just another process that Oracle starts, but it is specific to a user's connection to the database - it is a server process. It is outside of the user's direct control.

share|improve this answer
    
So do you mean the user process in the context you mentioned is the server process described in Oracle documentation? –  Ogrish Man Jul 6 '11 at 17:12
    
No. There are Oracle "server processes" that perform the general tasks associated with running the database, common to all users, such as physical I/O management, archiving, memory management, etc. Then there are Oracle "user processes", which are still managed and started by the Oracle database, but whose sole function in life is to manage a user session. –  DCookie Jul 6 '11 at 18:02

This section of documentation uses the term “User Processes” to refer to the client processes that connect to an Oracle database. If you read down the page further it describes the two types of processes that run the Oracle database server code – Server Processes and Background processes. Like DCookie I have heard Server Processes referred to as User Processes, hence the confusion.

The 11.2 Concepts Guide uses much better wording (emphasis mine):

When a user runs an application such as a Pro*C program or SQL*Plus, the operating system creates a client process (sometimes called a user process) to run the user application. The client application has Oracle Database libraries linked into it that provide the APIs required to communicate with the database.

Client and Server Processes

Client and Server Processes Client processes differ in important ways from the Oracle processes interacting directly with the instance. The Oracle processes servicing the client process can read from and write to the SGA, whereas the client process cannot. A client process can run on a host other than the database host, whereas Oracle processes cannot. …

share|improve this answer

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.