Oracle的进程可以分为3种。User Process,Server Process和Background Process。
User Process是运行在客户端的,它不在数据库服务器上,当然如果你在服务器上运行客户端那它就在服务器上。比如我们在Windows下运行的PL/SQL Developer的进程就是一个User Process。
Server Process为主要处理客户端和服务器连接的进程,当然它还有其他的功能。当一个客户端连接到服务器时,我们会在服务器的进程上看到多了一个进程,这个进程就是Server Process。
Background Process当数据库实例开始启动的时候,它就启动了。
补充一点IPC和TCP/IP的知识。
客户端和服务器不在一个机器上,那么当客户端连接到服务器的时候,就是通过TCP/IP的方式进行连接的。当客户端和服务器都在一个机器上,并且这个机器是Linux的时候,那么这个时候的连接最有可能的是使用IPC连接的,IPC是Inter Process Communication,当然也有可能是通过TCP/IP方式的。我们可以通过/sbin/ifconfig这个文件查看Linux网卡的情况,我们会发现一个网卡叫eth0,另一个是lo,lo是一个本地回路(Local Loopback),IP地址永远为127.0.0.1,是用于本地通讯的。
Background Process是用来维护和强制物理和内存结构的关系。
主要的background processes:
DBWn PMON CKPT LGWR SMON
可选的background processes:
ARCn LMDn QMNn CJQn LMON RECO Dnnn LMS Snnn LCKn Pnnn