进程名 |
概述 |
PMON |
负责监控其它后台进程 , 或重启其它进程 . |
SMON |
系统监控 : 实例恢复回滚 , 清除临时表空间 , 合并空闲空间 , 收缩回滚段 |
DBWR |
数据库写入程序 : 该进程执行将缓冲区写入数据文件。 |
LGWR |
日志写入程序 : 该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个 ORACLE 后台进程。 |
CJQ0 |
监控作业队列。在需要的时候它启动一个新的 Jnnn 进程,最多 1000 个作业队列进程 (J000,J001, … ,J999) 。当设定 job_queue_processes 参数为非 0 时﹐才会启动 CJQ0 进程﹐而 Jnnn 进程只有在执行作业时才由 CJQ0 进程启动﹐执行完后就退出。 |
ARCH |
该进程将已填满的在线日志文件拷贝到指定的存储设备。当日志是为 ARCHIVELOG 使用方式、并可自动地归档时 ARCH 进程才存在。 |
CKPT |
该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检查点。在通常的情况下,该任务由 LGWR 执行。 |
RECO |
该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布式事务中的故障。 |
LCKn |
是在具有并行服务器选件环境下使用,可多至 10 个进程( LCK0 , LCK1 ……, LCK9 ),用于实例间的封锁。 |
Dnnn |
该进程允许用户进程共享有限的服务器进程( SERVER PROCESS )。没有调度进程时,每个用户进程需要一个专用服务进程。 |
MMAN |
这个进程是 oracle10g 新增的﹐用于 SGA 自动调整特性的。 MMAN 进程协调共享内存各成分之间的大小 (buffer pool,shared pool,java pool,large pool,streams pool) |
ASM 实例 |
|
ASMB |
自动存储管理后台进程 , 负责同管理存储的 ASM 实例进行通信 , 提供对 ASM 实例的更新统计 , 和提供对 ASM 实例的一个 ”heartbeat” ﹐让它知道它仍然是活着和起作用。 |
RBAL |
平横进程 , 运行在使用 ASM 的数据库实例内﹐负责处理重新平横请求﹐当磁盘从 ASM 磁盘组中增加 / 移除时。 |
RAC CRSD :资源可用性维护的主要引擎 . 它用来执行高可用性恢复及管理操作,诸如维护 OCR 及管理应用资源,它保存着集群的信息状态和 OCR 的配置,此进程以 root 权限运行 . ( /etc/init.d/init.crsd run )
EVMD :事件管理守护进程 . 此进程还负责启动 racgevt 进程以管理 FAN 服务器端调用,此进程以 root 权限运行( /etc/init.d/init.evmd run )
OCSSD :集群同步服务进程 . 管理集群节点的成员资格,它以 fatal 方式启动,因此进程发生故障将导致集群重启,以防止数据坏死 . 同时, CSS 还维护集群内的基本锁功能,以及负责监控 voting disk 的脑裂故障。它以 Oracle 权限运行( /etc/init.d/init.cssd fatal ) |
|
LMON |
锁监控进程 , LMON 进程监控在 cluster 中的恩有实例中以发现失败的实例。那么它有利于失败实例持有的全局锁的恢复。它也负责当实例从 cluster 中离开或增加时重新配置 locks 和其它资源。 |
LMD |
锁管理器守护进程 |
LMSn |
锁管理器服务进程 |
DIAG |
诊断守护进程 ,DIAG 专门用于 RAC 环境中。它负责监控所有 " 健康" 的实例﹐并且它捕获在处理中的实例失败的必需的信息。 |
有些后台进程对实例来说是致命的 , 有些则是可以由 PMON 重新启动 , 对实例来说不是必要的。通过查询 v$bgprocess 可能得到所有后台进程
PMON 进程介绍
1) PMON 在用户进程出现故障时执行进程恢复,负责清理内存储区和释放该进程所使用的资源。例:它要重置活动事务表的状态,释放封锁,释放由失败进程分配的 SGA 资源,将该故障的进程的 ID 从活动进程表中移去。
2) PMON 还周期地检查调度进程( dispatcher )和服务器进程的状态,如果已死 (crashes) ,则重新启动(不包括有意删除的进程)。
3) PMON 完成 TNS listener 进行注册。
4) PMON 有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。
SMON 进程介绍
1) 该进程实例启动时执行实例恢复,在具有并行服务器选项的环境下, SMON 对有故障 CPU 或实例进行实例恢复。
2) 实例恢复 : 在实例崩溃期间的恢复,smon 恢复由于文件不可用而跳过的失败的事务。如,在恢复期间文件不可用或不能 mount, 当文件变成有效时, smon 恢复它。
3) 在 RAC 中执行失败结点的实例恢复:在 oracle RAC 环境中,当在 cluster 中的一个数据库实例失败,在 cluster 中的其它结点会打开失败实例重做日志文件,执行失败实例的所有数据的恢复。
4) 清除清理不再使用的临时段。
5) 合并空闲空间:如查你使用的是数据字典管理表空间, smon 负责将相邻的空闲空间合并成较大的空闲空间。这也只有在当 storage 子句中的 pctincrease 设置为非 0 值时才生效。
6) 清除OBJ$ : OBJ$ 是一个低级的数据字典表,它几乎包含数据库中的每个对象的一个条目。 Smon 负责移除不再需要的行。
7) SMON 进程有规律地被呼醒,检查是否需要,或者其它进程发现需要时可以被调用。
DBWR 进程介绍
1) 该进程执行将缓冲区写入数据文件,是负责缓冲存储区管理的一个 ORACLE 后台进程。当缓冲区中的一缓冲区被修改,它被标志为“弄脏”, DBWR 的主要任务是将“弄脏”的缓冲区写入磁盘,使缓冲区保持“干净”。由于缓冲存储区的缓冲区填入数据库或被用户进程弄脏,未用的缓冲区的数目减少。当未用的缓冲区下降到很少,以致用户进程要从磁盘读入块到内存存储区时无法找到未用的缓冲区时, DBWR 将管理缓冲存储区,使用户进程总可得到未用的缓冲区。 ORACLE 采用 LRU ( LEAST RECENTLY USED )算法(最近最少使用算法)保持内存中的数据块是最近使用的,使 I/O 最小。
LGWR 进程介绍
1) 该进程将日志缓冲区写入磁盘上的一个日志文件,它是负责管理日志缓冲区的一个 ORACLE 后台进程。
CJQ0 进程介绍
1) 监控作业队列。在需要的时候它启动一个新的 Jnnn 进程,最多 1000 个作业队列进程 (J000,J001, … ,J999) 。当设定 job_queue_processes 参数为非 0 时,才会启动 CJQ0 进程,而 Jnnn 进程只有在执行作业时才由 CJQ0 进程启动,执行完后就退出。
ARCH 进程介绍
1) 该进程将已填满的在线日志文件拷贝到指定的存储设备。当日志是为 ARCHIVELOG 使用方式、并可自动地归档时 ARCH 进程才存在。
CKPT 进程介绍
1) 该进程在检查点出现时,对全部数据文件的标题进行修改,指示该检查点。在通常的情况下,该任务由 LGWR 执行。然而,如果检查点明显地降低系统性能时,可使 CKPT 进程运行,将原来由 LGWR 进程执行的检查点的工作分离出来,由 CKPT 进程实现。对于许多应用情况, CKPT 进程是不必要的。只有当数据库有许多数据文件, LGWR 在检查点时明显地降低性能才使 CKPT 运行。 CKPT 进程不将块写入磁盘,该工作是由 DBWR 完成的。
RECO 进程介绍
1) 该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布式事务中的故障。
LCKn 进程介绍
1) 是在具有并行服务器选件环境下使用,可多至 10 个进程( LCK0 , LCK1 ……, LCK9 ),用于实例间的封锁。
Dnnn 进程介绍
2) Dnnn 进程(调度进程):该进程允许用户进程共享有限的服务器进程( SERVER PROCESS )。没有调度进程时,每个用户进程需要一个专用服务进程( DEDICATEDSERVER PROCESS )。对于多线索服务器( MULTI-THREADED SERVER )可支持多个用户进程。如果在系统中具有大量用户,多线索服务器可支持大量用户,尤其在客户 _ 服务器环境中。