首页 > 数据库 > Oracle > 一些常用的oracle进程
其实关于Oracle的主要进程都多多少少了解,还是有些遗漏的细节整理下
PMON进程监视器:
连接异常的清理工作,释放资源,Pmon会回滚未提交的工作,为失败的进程分配sga资源
清除后台失败的进程,当出现后台进程失败后,pmon会重启进程或者关闭实例,后台进程失败是一种很严重的oracle错误,最好把error呈递给oracle support
向tns 监听器注册实例,实例启动时,pmon询问公认的端口地址1521是否有监听器,如果不在默认的1521端口,需要显示的设置LOCAL_LISTENER参数指定监听器地址。(数据库启动时有监听器运行,pmon会与监听器通信,传递参数等信息,监听器未运行则pmon定期向tns监听器注册实例。)
Smon系统监视器:
Smon进程主要完成系统级任务,清理临时段(用于创建对象所在段失败后清除临时段),合并空间空间(只用于字典表空间管理的increase非0),收缩回滚段,清除基表obj$已经被删除的对象的数据行,为rac中失败节点用redo进行恢复,数据库启动时smon进行实例的恢复等。随着时间推移,常常看到smon占用大量cpu资源,这是正常的。
在oracle
SQL> select name,value from v$sysstat where name like '%SMON%';
NAME VALUE
---------------------------------------------------------------- ----------
total number of times SMON posted 5
SMON posted for undo segment recovery 0
SMON posted for txn recovery for other instances 0
SMON posted for instance recovery 0
SMON posted for undo segment shrink 0
SMON posted for dropping temp segment 0
SMON posted for supplemental logging cleanup 0
Dbwn使用异步I/O,dbwn收集一批要写的块,然后交与操作系统,dbwn并不等待操作系统真正将块写出,而是立即返回,收集下一批要写的块。当操作系统完成写操作时,又会异步通知dbwn写操作完成。
ASMB自动存储管理后台进程:ASMB运行在asm管理存储的数据库中,用于和管理存储的asm实例通信,并向asm实例提供一个“心跳”,让asm实例知道数据库的是否活动着。
RBAL平衡负载用于在asm磁盘组增加和删除磁盘后平衡I/O
Rac环境下:
可诊断性守护Diagnosability daemon DIAG进程,负责监视实例的健康信息,并捕获处理实例失败时信息
锁监视器Lock monitor LMON进程:LMON监视所有实例,检测是否有实例失败,有利于恢复失败实例的全局锁。还负责在实例离开或加入集群时重新配置锁和其他资源。
锁管理器守护Lock manager daemon LMD进程:LMD为全局缓存服务也就是块在实例间的一致性处理锁管理器服务器进程,主要作为代理向LMSn进程处理的队列发出资源请求。
LMD处理全局死锁检测 解析,并监视全局环境中锁超时。
锁管理器服务器Lock manager server LMSn进程:用于在集群的高速连接上通过非常快速的缓存到缓存完成数据交换,每个实例可以有多大10个LMSn
锁Lock LCK0进程:与LMD进程相似,但是处理所有全局资源的请求,当然也包括数据库块缓存区。
[@more@]来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25362835/viewspace-1057366/ ,如需转载,请注明出处,否则将追究法律责任。