Oracle进程及相关示意图

Oracle进程及相关示意图

ID:39466891

大小:72.50 KB

页数:5页

时间:2019-07-04

Oracle进程及相关示意图_第1页
Oracle进程及相关示意图_第2页
Oracle进程及相关示意图_第3页
Oracle进程及相关示意图_第4页
Oracle进程及相关示意图_第5页
资源描述:

《Oracle进程及相关示意图》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、oracle后台进程1,处理用户请求,同时维护数据库系统使其始终具有良好的性能。2,从用户进程处接受到任务,然后进行I/O操作、监视各个进程的状态、维护系统的性能和可靠性9i中主要的后台进程数据库写进程(DBWRn)将脏缓存块写入数据文件日志写进程(LGWR)将重做日志缓存区的重做记录写入联机重做日志检查点进程(CKPT)调用DBWR或LGWR将所有脏缓存块写入数据文件,已实现数据库完整性系统监视进程(SMON)在实例启动时负责恢复数据库,回收表空间空闲空间进程监视进程(PMON)恢复那些失败的进程,并释放其进程所占系统资源。定期检查调度程序和服务进程归档

2、进程(ARCn)将已经写满的重做日志文件复制到归档目标中恢复进程(RECO)分布式数据库环境中自动恢复那些失败的分布式事务调度程序进程(Dnnn)接受用户进程的请求,将他们放入请求队列中,然后为请求队列中的用户进程分配一个服务进程。注意:oracle还有一些可选后台进程。比如,在使用作业队列功能(oraclejobqueue)时将会启动作业队列进程CJQn;在使用高级队列功能(oracleadvancedqueue)时将启动队列监视进程QMNn。这些进程不会对实例的运行造成太大影响,即使失败也不会导致实例崩溃。数据库写进程(DBWRn)将脏缓存块写入数据文

3、件5DBWR不是将所有的脏缓存块写入数据文件,因为脏缓存块一旦被写入数据文件,它将被标记为空闲缓存块,其中保存的数据将丢失。如果随后立即有其他的用户进程来访问缓存块中以前所保存的数据,oracle需要重新到数据文件中读取。这样很显然不是我们所期望的通过LRU算法能够解决这个问题。LRU(最近最少使用)算法。最近未被访问过的缓存块被标记为“冷缓存块(coldcacheblock)”,DBWR进程只将那些同时被标记为“脏”和“冷”的缓存块写入数据文件,这样,那些经常被访问的脏缓存块将继续保留在缓存中,直到他们不再需要使用时才由DBWR进程写入数据文件。脏缓存块

4、:如果某个缓存块的数据被修改,它将被标记为脏DBWR的数量DBW1~DBW9。DBWR进程的数目不应该超过系统CPU的数目,因为每个处理器同时只能运行一个DBWR进程。将脏缓存块写入数据文件的情况1,空闲缓存块不够时,dbwr将脏缓存块写入数据文件!2,当检查点发生时,启动dbwr3,当数据库缓存的LRU列表的长度达到初始化DB_BLOCK_WRITE_BATCH指定值的一半时,dbwr将被启动4,若发生超时(大约3秒内未被启动),DBWR进程将被启动注意:DBWR进程启动的时间与用户提交事务的时间完全无关。也就是说,在执行commit语句提交事务之后,与

5、该事务相关的脏缓存块并不是立即写入数据文件中的(但是执行commit语句后将立即启动LGWR将事务写入重做日志文件)。DBWR的启动时间太长,对将来恢复数据库不利,启动时间太短,将给系统I/O带来很多的负担。与DBWR相关的初始化参数DB_WRITER_PROCESSES这个参数用于设置创建实例时启动的DBWR后台进程数量,默认为1,即在创建实例时仅启动一个DBWR(DBW0)DB_BLOCK_CHECKPOINT_BATCH这个参数用于设置在每个检查点发生时,DBWR进程写入的脏缓存块的最大数目。增大该参数,可以延长启动DBWR进程的时间间隔。DB_BL

6、OCK_LRU_LATCHES设置数据库缓存区中LRU闩的数量。闩(Latch):oracle用于顺序访问内部系统结构的锁;它被用来控制数据库缓存写入操作的争用。多处理器系统中,这个参数值通常是处理器数目的一半。LGWR(日志写进程)日志写进程负责将重做缓存中的重做记录写入联机重做日志文件。缓存中的数据写入重做日志文件之后,相应的缓存内容将被清空。1,下列情况下,oracle将缓存中的数据写入重做日志文件。·用户通过COMMIT语句提交当前事务·重做日志缓存被写满三分之一·DBWR进程开始将脏缓存块写入数据文件·每隔3秒,即发生一次超时,此时会启动LGWR

7、5事务修改了数据库==》将在数据库缓存中产生脏缓存块,同时在重做日志缓存中产生重做记录。。如果DBWR进程要将事务的结果写入数据文件,但发现与要写入的脏缓存块相关的重做信息仍然处于重做日志缓存中,它将通知oracle启动LGWR进程,先将这些重做信息写入重做日志文件,直到重做信息全部被写入后,DBWR进程才开始将脏缓存块写入数据文件。这样做保证了数据库的完整性。将来可以做完全恢复或者回退该事务!如果创建了复合日志文件,LGWR进程在写入时会同时写入一个重做日志组的多个成员,这样即使这个组中的某个成员已经损坏,LGWR仍然可以不受影响地写入其他成员日志文件。

8、重做日志的几种提交方式1,快速提交:用户提交一条COMMIT语句时

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。