Oracle数据库后台各进程职责

查看数据库进行信息相关视图V$process

1.PMON 进程监视进程
监视用户进程(客户端连接服务器的进程)到服务进程(在服务器端响应用户进程的进程)的
连接。
创建会话。
监视会话是否异常中断,如果中断:PMON 会回滚事务、解锁、释放资源。

2.SMON 系统监视进程
任务:会检测SCN 号,相等:启动
不相等,实例恢复(1)前滚将日志应用
(2)打开数据库
(3)恢复数据库
恢复的起点是走后一次CHECKPOINT 的位置。
每3 秒合并空闲空间
释放临时段
临时段:暂时存放在排序时中没有空间的字段值。
在排序中产生的。
数据量大的时候,排序是分成若干块执行的,当字段值排好序之后就放到临时段中

3.DBWR 数据库写进程
/DBW0/DBWn n:0-9
将脏数据写回到数据文件中。
当发生以下情况执行:
当发生检查点事件的时候,checkpoint
脏块达到极限值;
没有空间的缓冲空间
超时
RAC PING 请求
表空间离线
表空间只读
在表执行DROP 或TRUNCATE
表空间上执行BEGIN BACKUP

4.LGWR 重作日志写进程
把重做日志缓冲区的内容写出到日志文件(顺序写出,按时间)。
执行条件:
事务提交
先写日志后写数据的好处:
最快地保证数据不丢失

重作日志缓冲区三分之一满
每3 秒
有一条超过1MB 的重作日志记录
DBWn 进程操作前


5.CKPT 检查点进程
什么时候将数据缓冲区数据写入磁盘,
是由CKPT进程触发DBWn写出
万一数据库崩溃SMON最多用多长时间来做Instance Recovery,的控制参数是
FAST_START_MTTR_TARGET,通过调整该参数Oracle会调用CKPT在适当的时候调用DBWn
该参数并非越小越好,太小会导致Oracle性能降低
先执行DBWR,写数据,再进行同步。
提供数据库同步性;
在执行检查点时通知DBWn 执行写操作。


6.ARCn 归档进程(可选)
保存数据库的所有修改记录
当数据库在ARCHIVELOG 模式的时候自动归档当前的重做日志记录。
在LGWR写日志需要覆盖重写的时候 ,触发ARCn进程去转移日志文件,复制出去形成归档日志文件,从而避免日志丢失。

7.LCKn
仅适用于RAC数据库,最多可有10个进程(LCK0 , LCK1),用于实例间的封锁

8.RECO
用于分布式数据库的恢复,全称是Distributed DataBase Recovery ,适用于两阶段提交的场景

猜你喜欢

转载自gaojingsong.iteye.com/blog/2267521
今日推荐