设为首页 收藏本站
查看: 618|回复: 0

[经验分享] oracle后台进程都有哪些 作用是什么?

[复制链接]
YunVN网友  发表于 2016-8-13 07:13:24 |阅读模式
来自:http://hi.baidu.com/juan1232188/item/8b601d7dfa7b16256e29f682
Oracle中的进程共分为三类:用户进程、服务进程、后台进程。其中后台进程伴随实例的启动而启动,他们主要是维护数据库的稳定,相当于一个企业中的管理者及内部服务人员。他们并不会直接给用户提过服务。
一:database write    :数据写入
作用:把SGA中被修改的数据同步到磁盘文件中。保证Buffer Cache中有足够的空闲数据块数量。
触发条件:1,检查点
2,一个服务进程在设定的时间内没有找到空闲块。
3,每3秒自动唤醒一次。
设置:DB_WRITER_PROCESSES用来定义DBWn进程数量。(commit命令只是把记录修改写入日志文件,不是把修改后的数据写入数据文件,下面还会提到。)
二:log write    LGWR:日志文件写入
作用:把log buffer中的日志内容写入联机的日志文件中,释放log用户buffer空间呢。
触发条件:1,用户发出commit指令。(在oracle中称为快速提交机制(fast commit):把redo log buffer中的记录写入日志文件,写入一条已提交的记录)。
2,三秒钟定时唤醒。
3,log buffer超过1/3,或日志数量超过1M。
4,DBWR进程触发:DBWn试图将脏数据块写入磁盘先检查他的相关redo记录是否写入联机日志文件,如果没有就通知LGWR进程。在oracle中称为提前写机制(write ahead):redo记录先于数据记录被写入磁盘。
三:checkpoint          CKPT:检查点事件
作用:维护数据库一致性状态。检查点时刻数据文件与SGA中的内容一致。这不是一个单独的进程,要和前两个进程一起工作。DBWR写入脏数据,同时触发LGWR进程。
CKPT更新控制文件中的检查点记录。
触发条件:日志切换(log switch)会触发检查点。
四:process monitor        PMON :维护用户进程
作用:1,发现用户进程异常终止,并进行清理。释放占用资源。(清理异常终止用户使用的锁)。
2,向监听程序动态的注册实例。
触发条件:定时被唤醒,其他进程也会主动唤醒他。
五:system monitor        SMON:实例维护
作用:1,负责实例恢复,前滚(Roll Forward)恢复到实例关闭时刻的状态,使用最后一次检查点后的日志进行重做。这时包括提交和未提交的事务。打开数据库,进行回滚(Roll Back):回滚未提交的事务。
(Oracle承诺commit之后的数据不会丢失,现在我们可以大致的了解Oracle是如何实现这个承诺的,以及在数据的安全性和数据库性能之间的平衡选择。)
2,负责清理临时段,以释放空间;
触发条件:定期被唤醒或者被其他事务主动唤醒。
六:archive                ARCn:归档操作
作用:发生日志切换时把写满的联机日志文件拷贝到归档目录中。
触发条件:日志切换时被LGWR唤醒。
设置:LOG_ARCHIVE_MAX_PROCESSES可以设置oracle启动的时候ARCn的个数。
七:manageability monitor        MMON:AWR主要的进程。
作用:1收集AWR必须的统计数据,把统计数据写入磁盘。10g中保存在SYSAUX表空间中。
2,生成server-generated报警。
每一个小时把shard pool中的统计信息写入磁盘,或shard pool占用超过5%。
八:manageability monitor light  MMNL:轻量级的MMON;
九:memory manager  MMAN:自动内存管理
作用:每分钟都检查AWR性能信息,并根据这些信息来决定SGA组件最佳分布。
设置:STATISTICS_LEVEL:统计级别
SGA_TARGET:SGA总大小
十:job queue coordinator  CJQO:数据库定时任务
十一:recover writer   RVWR:为flashback database提供日志记录。把数据块的前镜像写入日志。
十二:change tracking writer CTWR:跟踪数据块的变化,把数据块地址记录到change_tracking file文件中。RMAN的增量备份将使用这个文件来确定那些数据块发生了变化,并进行备份。     
以上是oracle中比较常见的后台进程,不是所有的进程。其中DBWn,ARCn可以设置数据库启动时的数量。这些进程在系统中可以不止一个。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-257062-1-1.html 上篇帖子: Oracle 入门到精通Part 2-表的管理 下篇帖子: ORACLE分析函数(7)----自定义聚合函数
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表