Oracle系列之五 进程

一、概述

Oracle数据库是一个多进程服务器,当然在Windows上是多线程的。具体分为服务器进程、后台进程和从属进程。

二、服务器进程

服务器进程是指处理客户请求的进程。服务器进程又分为专用服务器进程和共享服务器进程。专用服务器进程只处理一个客户连接的请求,跟客户连接是一对一的关系。而共享服务器进程每次只处理一个请求,但是可以处理多个客户的请求,一个客户连接的请求由多个服务器进程处理,跟客户连接是多对多的关系。

如果事务时间很长可以选用专用服务器

如果可以控制并发数、控制内存占用、减少系统进程/线程数,可以考虑用共享服务器。

三、后台进程

后台进程是协助服务器进程完成请求的进程。

后台进程有包括:中心后台进程和工具后台进程

3.1)PMON进程监控器

· 客户连接异常终止时,负责清理相关资源,如服务器进程内存、锁、闩等

· 负责监控其他后台进程,有必要时进行重启

· 负责向TNS Listener注册实例

3.2)SMON系统监控器

· 临时表空间清理,虽然在数据库提供了真正的临时表空间后,清理工作大大减少,但是有些时候也会用来清理临时表空间。如创建索引的时候会分配临时空间,这些就需要smon来清理。

· 收缩回滚段

· 离线回滚段,离线命令虽然很快返回,但是真正的离线动作是由smon进程后台完成的。

· 清理OBJ$表,删除表、索引等的时候,obj$表中相应的条目会有smon清理。

· 合并空闲表空间,字典管理表空间时候用到。

· RAC环境中失败节点的恢复

· 负责原来不可用的文件恢复活动的事务的恢复

3.3)DBWn数据库块写入器

· 负责将被修改过的数据库块写入磁盘

· 负责建立检查点,检查点就是将数据库脏块写会内存。

3.4)LGWR日志写入器。把重做日志从内存写会磁盘,在以下三种情况下会把日志从内存写回磁盘:

· 每3s进行一次回写

· 有客户端提交事务

· 日志文件使用超过1/3或者大小超过1M

从上边分析看,一般配置过大的重做日志文件大小是没太多作用的。

3.5)CKPT检查点进程。此进程并不真正的建立检查点,只是更新数据库块首部。

3.6)ARCn归档进程。负责在重做日志文件被重用之前,把日志写进归档日志文件。

3.7)FBDA闪回数据归档进程。负责将闪回数据进行归档,在事务提交之后立即工作,读取该事务生成的UNDO,并回滚事务做出的修改,然后将回滚的这些行(原来的值)记录在闪回数据归档中。

3.8)其他进程如,RECO分布式数据库恢复、GEN0、DBRM和LCK、LMS、LMD等RAC环境才用到的进程。

3.9)工具后台进程,协助后台进程完成工作的进程。如CJQ0、Jnnn、QMNC、Qnnn、RMAN、MMON、CTWR等

部分进程、文件和内存的不完整协作图:

四、从属进程

协助服务器进程和后台进程完成任务的进程。

4.1)I/O从属进程

为了提高数据、日志写到磁盘的效率,可以用异步写功能,但是有些系统不支持异步写操作,这个时候数据库提供了IO从属进程来模拟异步写入。

4.1)并行执行进程

sql查询(插入?)可以并行的分成多个小任务来执行,并行执行进程就是来完成这个工作的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值