Question about ‘user process’ in the context of Oracle

documentationoracleprocess

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.

Best Answer

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.