基础知识1——实例进程结构

实例进程结构

实例后台进程在启动实例时启动,终止实例时终止运行.先介绍5个历史悠久的后台进程.
系统监视器SMON(system monitor),进程监视器PMON(process monitor),数据库写入器DBWn(database writer),日志写入器LGWR(log writer), 检查点进程CKPT(checkpoint process)

新版本中引入了可管理性监视器MMON(manageability monitor)和内存管理器MMAN(memory manager)两个重要的进程. archive进程ARCn和recoverer进程RECO,还有些RAC需要的进程.


此图概括了几个关键进程与SGA内存结构的典型交互情况.服务器进程是客户端—服务器连接的服务器端的代表,而客户端组件由用户会话 和用户进程组成.服务器进程与数据文件交互,将数据块读取到缓冲区缓存中.可用DML修改,弄脏缓冲区缓存中的块.变更 向量被复制到循环的日志缓冲区,由日志写入器进程LGWR几乎实时转储到联机重做日志文件.如果配置了归档日志模式, 归档进程ARCn就将联机重做日志文件复制到归档位置.最后几个条件导致数据库写入器进程DBWn将脏块写入某个数据文件.

讨论进程之前,要明确一下:linux和unix平台,oracle进程都是独立的操作系统进程,每个进程都有编号.windows平台整个实例只有一个 操作系统进程(oracle.exe),oracle进程作为此进程中的独立线程运行.



SMON(system monitor):起初是安装和打开数据库.SMON通过查找和验证数据库控制文件来安装数据库,此后通过查找和验证所有数据文件和 联机日志文件打开数据库.打开数据库并使数据库处于使用状态后,SMON就负责执行各种内部管理任务,如合并数据文件中的可用空间.

PMON(process monitor):用户会话是连接到服务器进程的用户进程.服务器进程在此会话创建时启动,在会话结束时销毁. PMON监视所有服务器进程, 并检测会话中的任何问题,如果会话异常终止,PMON将销毁服务器进程,将PGA内存返回给操作系统的空闲内存池,并回滚任何正在进行的 未完成事务.

DBWn:注意!会话通常并不将数据写入磁盘,会话将数据或数据的更改写入数据库缓冲区缓存,有数据库写入器负责将缓冲区写入磁盘.一个 实例可以有多个DBWn,最多不超过20个,DBW0开始到DBWn,默认8个CPU一个DBWn.
DBWn根据极懒算法执行写入:尽可能少.以下四种情况DBWn将执行写操作:没有任何可用缓冲区,脏缓冲区过多,3秒超时和遇到检查点.
唯一绝对需要检查点的情况是:关闭数据库,关闭实例,检查点将所有脏缓冲区写入磁盘

LGWR: 将日志缓冲区的内容写到磁盘上的联机日志文件中.当会话对数据库缓冲区缓存中的块执行任何更改时,在其将 更改应用到块之前,会将要应用的变更向量写出到日志缓冲区中. 3中情况下LGWR将转储日志缓冲区:会话发出commit,日志缓冲区占用 1/3,DBWn要写入脏缓冲区.
导致LGWR执行写入3秒超时存在,但实际是DBWR有3秒超时,因为LGWR总是先于DBWn执行写入,于是LGWR也就有了3秒超时.

CKPT:一段时间间隔过后,就需要设置检查点,便于实例失败后快速回复,这些检查点由CKPT发起. 

何时出现完全检查点?有序关闭数据库时,或手动输入请求这么做.


MMON:10g引入,是数据库的自我检视自我调整功能的支持进程.它从SGA中定期捕获统计数据(默认1小时1次),并写入导数据字典, 可无限期存储它们(默认是存8天).
每次MMON收集一组统计数据(叫快照)时,它还启动automatic database diagnostic monitor(ADDM).ADDM工具观察两个快照(默认是当前和先前的 快照),并得出有关性能的观察结果和建议.MMON还持续监视数据库和实例,来确定是否发出警报.

MMNL(manageability monitor light):是MMON的辅助进程.有时MMON的预订活动不足,比如MMON根据调度安排将SGA中收集的 统计信息转储到数据库中:默认每小时1此.如果在MMON预订执行转储前,用于手机此信息的内存缓冲区变满,MMNL将担当起转出数据的职责.

MMAN(memory manager):10g引入,支持内存分配的自动管理. 

ARCn:虽然此进程是可选的,但建议一定要使用它.数量在1~30之间,名为ARC0,ARC1.变更向量都写出到日志缓冲区,然后LGWR写到磁盘上
的联机重做日志文件,但联机日志文件大小和数量不变,总会变满,LGWR会用更多的重做数据覆盖联机重做日志文件,配置归档日志模式
会将重做日志不断保存下来,便于数据库恢复.

大多数生产环境数据库都是在归档日志模式下运行,这说明ARCn自动启动,而且在ARCn成功将联机日志文件成功归档到归档日志文件前,不允许LGWR重写相应的联机日志文件.

RECO(recoverer process):RECO进程是启用分布式选项时才会存在的进程,而且DISTRIBUTED\-TRANSACTIONS参数大于0 .当然,分布式事务在绝大多数系统中是默认安装的,因此说,总是能在数据库实例中看到这个进程.RECO进程能够自动解决 分布式事务中的故障.一个结点的RECO后台进程能够自动连接到包含错误的分布式事务的其他数据库中,在解决了所有的 故障后,将这个全局事务从2pc_pending等相关的表中删除. 当数据库服务器的RECO后台进程试图同一远程服务器建立通信时,如果远程服务器不可用,或者网络连接不能建立,
RECO将在一定时间间隔后自动重连.


select program from v$process order by program
--------------------
PSEUDO
oracle@ (ARC0)
oracle@ (ARC1)
oracle@ (CJQ0)           --管理定期运行的调度作业
oracle@ (CKPT)
oracle@ (DBRM)          --数据库资源管理器(database resource manager)负责设置资源计划以及与资源管理器相关的任务. 
oracle@ (DBW0)
oracle@ (DIA0)           --诊断进程0负责挂起检测和解析死锁. 
oracle@ (DIAG)           --诊断进程执行诊断转储,并执行oradebug命令(oradebug是研究实例问题的工具)
oracle@ (D000)          --调度进程,将SQL调用发送到共享的服务器进程Snnn(如果已启用共享服务器机制)
oracle@ (J000)           --管理定期运行的调度作业
oracle@ (LCK0)
oracle@ (LGWR)
oracle@ (LMD0)
oracle@ (LMON)
oracle@ (LMS0)
oracle@ (LMS1)
oracle@ (MMAN)
oracle@ (MMNL)
oracle@ (MMON)
oracle@ (PMON)
oracle@ (PSP0)
oracle@ (PZ99)
oracle@ (QMNC)          --队列管理器协调器(queue manager coordinator)监视数据库中的队列,分配Qnnn进程使消息 入队或出队.
oracle@ (RECO)
oracle@ (SMON)
oracle@ (TNS V1-V3)
oracle@ (TNS V1-V3)
oracle@ (TNS V1-V3)
oracle@ (TNS V1-V3)
oracle@ (q000)          --队列管理器协调器(queue manager coordinator)监视数据库中的队列,分配Qnnn进程使消息 入队或出队.
oracle@ (q001)          --队列管理器协调器(queue manager coordinator)监视数据库中的队列,分配Qnnn进程使消息 入队或出队. 




确定哪些进程正在运行,每个进程数量

select program from v$session order by program;
select program from v$process order by program

linux/unix平台
> ps -ef|grep oracle|wc -l


 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25025926/viewspace-1067568/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/25025926/viewspace-1067568/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值