进程:
进程通常运行在其私有的内存区中
种类:执行应用程序和oracle工具代码的用户进程user process
执行oracle服务器代码的oracle进程,包括服务进程server和后台进程background
用户进程user process:
连接和会话的区别
连接connection:用户和实例的一个通信通道
会话session:用户与实例建立的连接
一个连接可以创建多个会话,或者说一个用户可以同时创建多个会话
共享服务模式下:多个用户会话使用同一个server process
非共享服务模式下:一个用户会话对应一个server process
用户进程必须通过服务进程与数据库进行通信
服务进程:解析、运行应用程序提交的SQL语句
将数据文件写入buffer cache (与DBWn相反)
以应用程序能理解的形式返回SQL结果
后台进程: 能够在实例启动时自动创建
DBWn:(20个)
Server process扫描一定数量的buffer,仍不能找到可用的缓冲区
周期性地写入磁盘,从而使检查点位置前移
LGWR:server process对redo log buffer写redo entry(是段连续的空间)
LGWR负责将redo entry写入redo log file
用户提交事务时(fast commit快速提交机制:写入日志文件,但相关修改的数据在最高效时才从buffer cache写入磁盘)
日志切换时
每隔3秒
Redo log buffer 满1/3
DBWn向磁盘写入dirty buffer时,且相关的重做日志文件还没被写入(DBWn会等待LGWR写完后在执行写操作)
在redo log file的一组的某个文件损坏时,由LGWR向alert和LGWR的跟踪文件内写入相关的错误信息
每个事务提交后都会被赋予一个SCN,并在redolog file中记录该SCN
(通过redolog file中的SCN,RAC或分布式数据库才能同步的执行恢复操作)
CKPT检查点进程:将checkpiont写入数据文件的头部和控制文件
SMON:会定期执行
作用:实例恢复
清除不再使用的临时段
为数据字典管理的表空间合并相邻的可用extent
恢复异常终止的事务(由于文件读取错误或offline)
PMON:会定期执行
作用:恢复失败的用户进程
对相关的buffer cache进行清除,释放被此进程使用的资源
RECO:在分布式数据库中,解决分布式事务的后台进程
ARCn(最多10个)编号从0~9
CJQ0 and Jnnn (Job Queue Processes作业队列进程)
MMON and MMNL:MMON执行与AWR相关的任务
MMNL统计会话历史信息等
OSMB进程:使用ASM磁盘时,需要启动OSMB进程,负责与ASM实例通信
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/24005010/viewspace-687322/ ,如需转载,请注明出处,否则将追究法律责任。