为了最大限度地提高性能并适应许多用户,多进程Oracle数据库系统使用后台进程。后台进程将合并功能,否则这些功能将由运行于每个用户进程的多个数据库程序处理。后台进程异步执行I / O并监视其他Oracle数据库进程,以提供更高的并行性以获得更好的性能和可靠性。
表5-4描述了基本的后台进程,其中许多将在本书的其他地方详细讨论。使用其他数据库功能或选项可能会导致出现更多后台进程。例如:
- 当您使用Oracle Streams Advanced Queuing时,队列监视器(QMNn)后台进程将存在。
- 当您指定将数据文件映射到存储子系统上的物理设备的FILE_MAPPING初始化参数时,FMON进程就存在。
- 如果您使用Oracle自动存储管理(Oracle ASM),则会出现其他Oracle ASM特定的后台进程
Table 5-4 Oracle Database Background Processes
Process Name | Description |
Database writer (DBWn) | 数据库写入器将修改后的数据块从数据库缓冲区高速缓存写入数据文件。 Oracle数据库最多允许36个数据库写入器进程(DBW0-DBW9和DBWa-DBWj)。 DB_WRITER_PROCESSES初始化参数指定DBWn进程的数量。数据库为该初始化参数选择适当的默认设置,或根据CPU数量和处理器组数量调整用户指定的设置。有关设置DB_WRITER_PROCESSES初始化参数的更多信息,请参阅Oracle数据库性能调整指南。 |
Log writer (LGWR) | 日志写入器进程将重做日志条目写入磁盘。重做日志条目在系统全局区域(SGA)的重做日志缓冲区中生成。 LGWR将重做日志条目按顺序写入重做日志文件。如果数据库具有多路复用重做日志,则LGWR将重做日志条目写入一组重做日志文件。有关日志记录器进程的信息,请参见第12章“管理重做日志”。 |
Checkpoint (CKPT) | 在特定时间,系统全局区域中的所有已修改的数据库缓冲区均由DBWn写入数据文件。这个事件被称为检查点。检查点进程负责在检查点通知DBWn并更新数据库的所有数据文件和控制文件以指示最近的检查点。 |
System monitor (SMON) | 当失败的实例再次启动时,系统监视器执行恢复。在Oracle Real Application Clusters数据库中,一个实例的SMON进程可以为失败的其他实例执行实例恢复。 SMON还清理不再使用的临时段,并恢复由于文件读取或脱机错误而在系统故障和实例恢复期间跳过的终止事务。当表空间或文件重新联机时,这些事务最终由SMON恢复。 |
Process monitor (PMON) | 进程监视器在用户进程失败时执行进程恢复。 PMON负责清理缓存并释放该进程正在使用的资源。 PMON还检查调度程序进程(本表稍后介绍)和服务器进程,并在发生故障时重新启动它们。 |
Archiver (ARCn) | 一个或多个归档程序进程在重做日志文件满或发生日志切换时,将重做日志文件复制到归档存储器。归档器进程是第13章“管理归档重做日志”的主题。 |
Recoverer (RECO) | recoverer进程用于解决由于分布式数据库中的网络或系统故障而处于等待状态的分布式事务。按照定时间隔,本地RECO尝试连接到远程数据库,并自动完成任何未决分布式事务的本地部分的提交或回滚。有关此过程以及如何启动它的信息,请参阅第35章“管理分布式事务”。 |
Dispatcher (Dnnn) | 分派器是可选的后台进程,仅在使用共享服务器配置时才存在。先前在“为共享服务器配置Oracle数据库”中讨论过共享服务器。 |
Oracle数据库参考以获取Oracle数据库后台进程的完整列表
参考资料
https://docs.oracle.com/cd/E11882_01/server.112/e25494/manproc.htm#ADMIN11185