SQL> select name from v$bgprocess;
1、DBWn
a) Database write
b) n的范围是0-9和a-j
c) 在单CPU中n的多少并不能提高性能效率
d) 把DB buffer cache数据脏块写到磁盘
e) 触发条件:
(1)PGA找不到可用数据缓存块
(2)LGWR要写日志缓存
(3)alter system flush buffer_cache
2、LGWR
a)Log write
b)如果多用户执行commit,会批量写入磁盘,提高I/O
c)触发条件:
(1)发出commit
(2)Log buffer达到三分之一
(3)每3秒
(4)DBWn将要写入磁盘
3、CKPT
a)CheckPoint
b)将记录检查点信息写入数据文件头和控制文件
4、PMON
a) Process Monitor
b) 检查User Process,当空闲等待超时则断开连接,清除db buffer cache
c) 检查及监视重要的进程是否出错,及时恢复,PMON→CKPT→LGWR→DBWn,也就是说这条链路的断开与否都要经过PMON的监控
d) 监视数据库信息,将数据库信息写入动态监听
5、SMON
a)System Monitor
b)实例恢复用到此进程,如果文件出错或者文件不在脱机状态,是实例部分恢复到能启动的状态后将尝试恢复文件
c)清除临时表空间
d)合并相邻的数据扩展(extent)
6、RECO
a)Recoverer
b)分布式数据库使用到此进程
c)原理是如果数据库a做了操作,该进程尝试在数据库b做相同操作,如果尝试失败,将以级数级别的次数进行尝试连接操作,如果一直失败,则有可能删除数据库a的操作,保证分布式数据库的一致性。