启动实例,必须启动的五个进程。
Oracle后台进程是服务于Oracle服务器端的后台程序,是Oracle实例重要的组成部分。其中SMON、PMON、DBWR、LGWR、CKPT这五个后台进程必须正常启动,否则会导致数据库崩溃,此外还有很多辅助进程用于实现特定的功能,如果这些辅助进程发生问题,只会使某些功能受到影响,一般不会导致数据库实例崩溃。
1. 数据写入进程(DBWR)
数据写入进程的主要任务是负责将内存中都脏数据写入数据文件中。脏数据指的是高速数据缓冲区(Database Buffer cache)中存放的数据,这些数据块和数据文件中的数据块内容不一致。高速数据缓冲区可以分为三个区域:
A.脏数据区:存放着已被修改过的数据,这些数据等待被写入到数据文件中。
B.空闲区:空闲区中的数据块不包含任何数据,这些数据块可以被写入数据,Oracle可以从数据文件中读取数据块,并将其存放到该区中
C.保留区:包含那些被用户访问的数据块和明确保留以作为将来使用的数据块。
其中最主要的是脏数据区,但是DBWR不是及时的把所有的脏数据都写入数据文件,只有在满足一定条件都时候才会自动把脏数据写入数据文件,这样都好处是显而易见的,尽量的减少I/O操作,提高Oracle服务器性能。
DBWR的触发条件:
(1) 当高速数据缓冲区没有足够大的空间来存放新数据
(2) 当触发CKPT进程时,会强制将脏