Oracle 进程结构(Process Structure)


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

相关内容