oracle的三种类型的进程

oracle有三种进程---用户进程,服务器进程和后台进程。
下面分别讲讲这三种进程:
(1)用户进程:用户进程是一个需要和oracle服务器进行交互的程序。当用户运行一个应用程序准备向数据库服务器发送请求时,即创建了用户进程(如客户端的SQLPLUS程序),用户进程位于客户端,服务器进程和后台进程位于服务器端。
(2)服务器进程:服务器进程用于处理连接到该实例的用户进程的请求,当用户连接至oracle数据库实例创建会话时,即产生服务器程序,服务器进程需要消耗pga。
(3)后台进程:后台进程是oracle数据库为了保持最佳系统性能和协调多个用户请求而设置的,oracle实例启动时即创建了一系列的后台进程,oracle实例常见的后台进程包括SMON,PMON,DBWR,LGWR,ARC,CKPT。
下面简要讲讲oracle的后台进程:
(1)SMON系统监控进程,实时监控整个oracle的状况。
.例程恢复
-前滚重做日志中的更改
-打开数据库供用户访问
-回退未提交的事务处理
.合并空闲空间
.回收临时段
(2)PMON进程监控进程,监控用户进程是否正常
.回退事务处理
.释放锁
.释放其他资源
.重新启动已失效的调度程序
(3)DBWR数据写入进程,将修改的数据写回到数据文件
在以下情况写入:
.出现检查点
.当数据缓冲区达到阈值
.没有空闲缓冲区
.出现超时
.执行了RAC ping请求
.表空间处于offline状态
.表空间处于read only状态
.对表执行drop或truncate操作
.对表空间执行begin backup操作
(4)LGWR日志写入进程,负责将日志缓冲区中的日志数据写入日志文件
LGWR在以下情况写入:
.提交时
.三分之一填满
.有1MB的重做时
.每隔3秒
.DBWn写入前
(5)CKPT检查点进程,在实例崩溃后提交快速恢复的进程
.在发生检查点的时候发信号给DBWn
.使用检查点信息更新数据文件头和控制文件

如果想要查看这些后台进程有两种方法:
(1)在终端输入ps -ef|grep ora_
[root@localhost ~]# ps -ef |grep ora_
oracle   20033     1  0 23:34 ?        00:00:00 ora_pmon_orcl
oracle   20035     1  0 23:34 ?        00:00:00 ora_vktm_orcl
oracle   20039     1  0 23:34 ?        00:00:00 ora_gen0_orcl
oracle   20041     1  0 23:34 ?        00:00:00 ora_diag_orcl
oracle   20044     1  0 23:34 ?        00:00:00 ora_dbrm_orcl
oracle   20046     1  0 23:34 ?        00:00:00 ora_psp0_orcl
oracle   20048     1  0 23:34 ?        00:00:00 ora_dia0_orcl
oracle   20050     1  0 23:34 ?        00:00:00 ora_mman_orcl
oracle   20054     1  0 23:34 ?        00:00:00 ora_dbw0_orcl
oracle   20056     1  0 23:34 ?        00:00:00 ora_lgwr_orcl
oracle   20058     1  0 23:34 ?        00:00:00 ora_ckpt_orcl
oracle   20060     1  0 23:34 ?        00:00:00 ora_smon_orcl
oracle   20062     1  0 23:34 ?        00:00:00 ora_reco_orcl
oracle   20064     1  0 23:34 ?        00:00:00 ora_mmon_orcl
oracle   20067     1  0 23:34 ?        00:00:00 ora_mmnl_orcl
oracle   20069     1  0 23:34 ?        00:00:00 ora_d000_orcl
oracle   20071     1  0 23:34 ?        00:00:00 ora_s000_orcl
oracle   20186     1  0 23:34 ?        00:00:00 ora_arc0_orcl
oracle   20188     1  0 23:34 ?        00:00:00 ora_arc1_orcl
oracle   20190     1  0 23:34 ?        00:00:00 ora_arc2_orcl
oracle   20192     1  0 23:34 ?        00:00:00 ora_arc3_orcl
oracle   20195     1  0 23:34 ?        00:00:00 ora_qmnc_orcl
oracle   20223     1  0 23:34 ?        00:00:00 ora_cjq0_orcl
oracle   20242     1  0 23:34 ?        00:00:00 ora_vkrm_orcl
oracle   20283     1  0 23:34 ?        00:00:00 ora_q000_orcl
oracle   20285     1  0 23:34 ?        00:00:00 ora_q001_orcl
oracle   21103     1  0 23:44 ?        00:00:00 ora_smco_orcl
oracle   21111     1  0 23:44 ?        00:00:00 ora_w000_orcl
root     21361 21341  0 23:48 pts/4    00:00:00 grep ora_

(2)在sqlplus查看v$process动态性能视图:
SYS@orcl 04-SEP-14>select pname,spid from v$process;
PNAME SPID
----- ------------------------

PMON  20033
VKTM  20035
GEN0  20039
DIAG  20041
DBRM  20044
PSP0  20046
DIA0  20048
MMAN  20050
DBW0  20054
LGWR  20056

PNAME SPID
----- ------------------------
CKPT  20058
SMON  20060
RECO  20062
MMON  20064
MMNL  20067
D000  20069
S000  20071
          20184
ARC0  20186
ARC1  20188
ARC2  20190

PNAME SPID
----- ------------------------
ARC3  20192
QMNC  20195
      20216
      20219
CJQ0  20223
      20225
      20227
      20229
      20231
      20233
VKRM  20242

PNAME SPID
----- ------------------------
Q000  20283
SMCO  21103
W000  21111
      20465
      20270
Q001  20285
      20481
      20507
J000  22588
J001  22590
      22383

PNAME SPID
----- ------------------------
      22387
      22389

46 rows selected.


请使用浏览器的分享功能分享到微信等