松客科技网

锁进程(LCKN)LCKn 仅适用于RAC数据库,最多可有10个进

简介: 七、锁进程(LCKN)LCKn 仅适用于RAC数据库,最多可有10个进程(LCK0,LCK1,…

oracle进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员,他们并不会直接给用户服务。

SMON、PMON、DBWR、LGWR和CKPT这5个进程必须正常启动,否则会导致数据库实例的崩溃,当然,除此之外还有很多的辅助进程,用于实现相关的辅助功能。

一、数据写入进程(database write——DBWR)数据写入进程的主要作用就是将SGA中的“脏”数据块回写到数据文件中,所谓的“脏”数据块指的是高速数据缓冲区中被修改过的数据块,这些数据块的内容与数据文件的数据库内容不一致。

DBWR并不会实时将所有的“脏”数据块写入数据文件,而是满足下面三种条件的时候才会执行:①检查点CKPT ;②一个服务进程在设定的时间内没有找到空闲块;③每三秒自动唤醒一次。

如果LGWR出现故障,DBWR不会听从CKPT命令,因为Oracle在将数据缓存区数据写到磁盘前,会先进行日志缓冲区写进日志文件的操作,并耐心地等待其先完成,才会去完成这个内存刷到磁盘的动作,这就是所谓的凡事有记录。

二、日志文件写入进程(log write——LGWR)oracle实例在运行中会产生大量的日志文件,这些日志信息先记录在SGA的重做一直缓冲区中,当发生条件命令,或者是重做日志缓冲区的信息满1/3,或者日志信息存放超过3秒钟时,LGWR进程就将日志信息从重做日志缓冲区中读出并写入日志文件组中序号较小的文件中,一个日志组写满后接着写另外一组。

当LGWR进程将所有的日志文件都写过一遍之后,再次转向第一个日志文件组重新覆盖,也就是所谓的日志切换。

三、检查点进程(checkpoint——CKPT)检查点是一个数据库,它把修改数据从高速缓存写入磁盘,并更新控制文件和数据文件。

当修改数据时,需要首先将数据读入内存中(Buffer Cache),修改数据的同时,Oracle会记录重做信息(Redo)用于恢复。

因为有了重做信息的存在,Oracle不需要在提交时立即将变化的数据写回磁盘(立即写的效率会很低),重做(Redo)的存在也正是为了在数据库崩溃之后,数据就可以恢复。

在下一次数据库启动之后,Oracle可以通过重做日志(Redo)进行事务重演,也就是进行前滚,将数据库恢复到崩溃之前的状态,然后数据库可以打开使用,之后Oracle可以将未提交的数据进行回滚。

四、归档进程(archive——ARCH)归档进程是一个可以选择的进程,只有当oracle数据库处于归档模式时,该进程才会起到作用,主要功能就是发生日志切换时把写满的联机日志文件拷贝到归档目录中。

(LGWR写日志写到需要覆盖重写的时候,触发ARCH进程去转移日志文件,复制出去形成归档日志文件,以免日志丢失)触发条件是当日志切换时被LGWR唤醒时,当然我们可以设置LOG_ARCHIVE_MAX_PROCESSES参数来启动多个归档进程,从而提高归档写磁盘的速度。

五、进程监控器(process monitor——PMON)进程监控进程用于监控其他进程的状态,当有进程启动失败时,PMON会清除失败的用户进程,释放用户进程所用的资源。

六、系统监控进程(system monitor——SMON)系统监控进程是在数据库启动时执行恢复工作的强制性进程,比如在并行服务器模式下,SMON可以恢复另一台处于失败的数据库,使系统切换到另外一台正常的服务器上。

七、锁进程(LCKN)LCKn 仅适用于RAC数据库,最多可有10个进程(LCK0,LCK1,…

八、恢复进程(Distributed Database Recovery——RECO)恢复进程是在分布式数据库模式下使用的一个可选进程,用于数据不一致时进程恢复工作。

九、调度进程(DNNN)调度进程是一个可选进程,在共享服务器模式下使用,可以启动多个调度进程。

十、快照进程(SNPN)快照进程用于处理数据库快照的自动刷新,并通过DBMS_JOB包运行预定的数据库存储过程。


以上是文章"

锁进程(LCKN)LCKn 仅适用于RAC数据库,最多可有10个进

"的内容,欢迎阅读松客科技网的其它文章