首页 理论教育 Oracle进程结构-ORACLE数数据库应用开发

Oracle进程结构-ORACLE数数据库应用开发

时间:2023-11-26 理论教育 版权反馈
【摘要】:Oracle数据库启动时,会启动多个Oracle后台进程,后台进程是用于执行特定任务的可执行代码块,在系统启动后,异步地为所有数据库用户执行不同的任务。在Oracle数据库中,控制检查点产生的参数有如下两种。一个Oracle数据库实例中,允许启动的ARCn进程的个数由参数log_archive_max_processes决定。

Oracle进程结构-ORACLE数数据库应用开发

Oracle数据库启动时,会启动多个Oracle后台进程,后台进程是用于执行特定任务的可执行代码块,在系统启动后,异步地为所有数据库用户执行不同的任务。通过查询数据字典v$bgprocess,可以了解数据库中启动的后台进程信息。

1.DBWn进程

DBWn(Database Writer,数据库写入)进程是Oracle中采用LRU(Least Recently Used,最近最少使用)算法将数据缓冲区中的数据写入数据文件的进程。

DBWn进程主要有如下几个作用:

①管理数据缓冲区,以便用户进程总能找到空闲的缓冲区。

②将所有修改后的缓冲区数据写入数据文件。

③使用LRU算法将最近使用过的块保留在内存中。

④通过延迟写来优化磁盘I/O读写。

DBWn进程工作过程如下:

①当一个用户进程产生后,服务器进程查找内存缓冲区中是否存在用户进程所需要的数据。

②如果内存中没有需要的数据,则服务器进程从数据文件中读取数据。这时,服务器进程会首先从LRU中查找是否有存放数据的空闲块。

③如果LRU中没有空闲块,则将LRU中的DIRTY数据块(指被修改但没被写入数据文件的数据)移入DIRTY LIST(弄脏表)。

④如果DIRTY LIST超长,服务器进程将会通知DBWn进程将数据写入磁盘,刷新缓冲区。

⑤当LRU中有空闲块后,服务器进程从磁盘的数据文件中读取数据并存放到数据缓冲区中。

2.LGWR进程

LGWR(Log Writer,日志写入)进程是负责管理日志缓冲区的一个后台进程,用于将日志缓冲区中的日志数据写入磁盘的日志文件中。

LGWR进程将日志信息同步地写入在线日志文件组的多个日志成员文件中,如果日志文件组中的某个成员文件被删除或者不可使用,则LGWR进程可以将日志信息写入该组的其他文件中,从而不影响数据库正常运行,但会在警告日志文件中记录错误

3.CKPT进程(www.xing528.com)

CKPT(Check Point,检查点或检验点)进程一般在发生日志切换时自动产生,用于缩短实例恢复所需的时间。在检查点期间,CKPT进程更新控制文件与数据文件的标题,从而反映最近成功的SCN(System Change Number,系统更改号)。

在Oracle数据库中,控制检查点产生的参数有如下两种。

①log_checkpoint_timeout:用于设置检查点产生的时间间隔,默认值为1 800秒。

②log_checkpoint_interval:用于设置一个检查点需要填充的日志文件块的数目,也就是指每当产生多少个日志数据时自定产生一个检查点,默认值为0。

4.SMON进程

SMON(System Monitor,系统监控)进程用于数据库实例出现故障或系统崩溃时,通过将联机重做日志文件中的条目应用于数据文件,执行崩溃恢复。

SMON进程一般用于定期合并字典管理的表空间中的空闲空间,此外,它还用于在系统重新启动期间清理所有表空间中的临时段。

5.PMON进程

PMON(Process Monitor,进程监控)进程用于在用户进程出现故障时,执行进程恢复操作,负责清理内存存储区和释放该进程所使用的资源。

PMON进程周期性检查调度进程和服务器进程的状态,如果发现进程已死,则重新启动它。PMON进程被有规律地唤醒,检查是否需要使用,或者其他进程发现需要时,也可以调用此进程。

6.ARCn进程

ARCn(Archive Process,归档)进程用于将写满的日志文件复制到归档日志文件中,防止日志文件组中的日志信息由于日志文件组的循环使用而被覆盖。

一个Oracle数据库实例中,允许启动的ARCn进程的个数由参数log_archive_max_processes决定。

7.RECO进程

RECO(Recovery,恢复)进程存在于分布式数据库系统中,用于自动解决在分布式数据库中出现的事务故障。

当一个数据库服务器的RECO进程试图与一个远程服务器建立通信时,如果远程服务器不可用或者无法建立网络连接,则RECO进程将自动在一个时间间隔之后再次连接。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈