以下是 Oracle 文档中的一个例外。
用户进程概述
当用户运行应用程序(如 Pro*C 程序)或 Oracle 工具(如 Enterprise Manager 或 SQL*Plus)时,Oracle 会创建一个用户进程来运行用户的应用程序。
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/process.htm
据我了解,用户进程是一个可以连接到 Oracle 服务器的软件。您(用户)可以启动一个此类软件,然后连接到 oracle。如果是这样,为什么Oracle creates a user process to run the user's application
?
谢谢。
不完全的。Oracle 中的用户进程与客户端不同,这就是我认为您所指的。用户启动在客户端系统上运行的客户端程序(SQL*Plus、Pro*C 等)。该程序通常通过 TNS 或 IPC 联系 Oracle 数据库服务器。产生用户进程的是 Oracle 数据库。这是一个有点令人困惑的术语,因为从数据库的角度来看,用户进程实际上只是 Oracle 启动的另一个进程,但它特定于用户与数据库的连接——它是一个服务器进程。它不在用户的直接控制范围内。
这部分文档使用术语“用户进程”来指代连接到 Oracle 数据库的客户端进程。如果您进一步阅读该页面,它将描述运行 Oracle 数据库服务器代码的两种类型的进程——服务器进程和后台进程。像 DCookie 一样,我听说服务器进程被称为用户进程,因此很混乱。
11.2概念指南使用了更好的措辞(强调我的):
用户进程是驻留在客户端的进程,而服务器进程驻留在服务器端,一旦用户进程启动,它就会使用该地址进行身份验证,并提供服务器进程的地址由用户进程到客户端,因此客户端直接连接到服务进程。