在以下情况下它会写数据库:
<1>.在发生CHECKPOINT同步。
<2>.脏数据达到阀值。
<3>.DATABASEBUFFERCACHE自由空间太少了。
<4>.TIMEOUT(3秒钟。)
<5>.RACPINGREQUEST。
<6>.TABLESPACEOFFLINE。
<7>.TABLESPACEREADONLY。
<8>.TABLEDROPORTABLETRUNCATE(表数据清空或表结构删除)。
<9>.TABLESPACEBEGINBACKUP。
由SGA(包含DATABASEBUFFERCACHE,BACKGROUNDPROCESS)----->[DBWn]---->{datafiles,
controlfiles,redologfile}---->由此过程改变数据库中的数据。
LOGWRITER(LGWR)日志写进程
在Oracle环境中
<1>.当COMMIT的时候。
<2>.当三分之一空间满时。
<3>.当日志有1MB需要重做时。
<4>.每3秒
<5>.BEFOREDBWnWRITES。(写数据前先写日志)。
REDOLOGBUFFER----->LGWR--->DBWn
|-------------------------------------->REDOLOGFILES
SYSTEMMONITOR(SMON)系统监控进程
主要任务:
(1).启动过程(假定DATABASE重启时)如果需要RECOVERY,则此进程会负责打开数据库,及回滚没有
提交的事务;以及rollsforwardchangesintheredologs这些统称为:instancerecovery。
(2).对每3秒就对系统自由空间的整理。(COALESCESFREESPACEEVER3SEC。)
(3).清空临时段空间(DEALLOCATESTEMPORARYSEGMENTS)。
这个过程也是在系统启动过程中完成的。
PROCESSMONITOR(PMON)进程监控进程
主要用于回滚异常终止的或被用户强制终止的事务。
<1>.rollingbackthetransaction。
<2>.releasinglocks。释放锁。
<3>.releasingotherresources。
<4>.restartsdeaddispatchers。重启死掉的调度器。(在共享服务器中用)。
PMON(:IncludeinSGA)----------------------->PGA