3

The following is an excerpt from Oracle's documentation:

When a user runs an application program (such as a ProC program) or an Oracle tool (such as Enterprise Manager or SQLPlus), Oracle creates a user process to run the user's application.

As per my understanding, a user process is a piece of software that can connect to an Oracle server. You (the user) can start this piece and then connect to Oracle. If so, why does Oracle create a user process to run the user's application?

Mehdi Charife
  • 131
  • 1
  • 12
Just a learner
  • 2,082
  • 7
  • 36
  • 57

3 Answers3

7

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.

DCookie
  • 572
  • 1
  • 4
  • 10
3

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 ProC program or SQLPlus, 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 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. …

Leigh Riffel
  • 23,884
  • 17
  • 80
  • 155
0

A user process is a process that resides on the client side and the server process resides on the server side once the user process starts it takes address with it that address is to be authenticated and the address of the server process is provided this address is taken by the user process to the client side hence client gets connected to the service process directly.

firdos
  • 1