前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【OCP最新题库解析(052)--题52】 Which two events always request the LGWR

【OCP最新题库解析(052)--题52】 Which two events always request the LGWR

作者头像
AiDBA宝典
发布2019-09-29 16:36:02
3820
发布2019-09-29 16:36:02
举报
文章被收录于专栏:小麦苗的DB宝专栏

该系列专题为2018年4月OCP-052考题变革后的最新题库。题库为小麦苗解答,若解答有不对之处,可留言,也可联系小麦苗进行修改。

注:OCP-052最新题库完整详细解答版请联系小麦苗私聊。解题不易,请大家尊重原创。

QQ:646634621

QQ群:547200174、618766405

微信号:lhrbestxh

Q

题目

Which two events always request the LGWR to write?

A. When DBWn writes dirty buffers.

B. When a log switch occurs.

C. When a checkpoint occurs.

D. When LGWR is notified by a server process that performs a COMMIT or ROLLBACK.

E. When PMON restarts a serve process.

A

答案

Answer:AD

日志写进程(LGWR)负责管理重做日志缓冲区,即将重做日志缓冲区条目写入磁盘上的重做日志文件。LGWR会将上次写入后复制到缓冲区中的所有重做条目写入重做日志文件。

重做日志缓冲区是循环缓冲区。当LGWR将重做日志缓冲区中的重做条目写入重做日志文件时,服务器进程随后可以复制新条目,覆盖重做日志缓冲区中的那些已写入磁盘的条目。LGWR的写入速度通常足够快,可以确保缓冲区中始终有空间可供新条目使用,即使对重做日志的访问量很大时也是如此。LGWR将缓冲区的一个连续部分写入磁盘。

LGWR在以下情况下执行写操作:

用户进程提交事务处理时

重做日志缓冲区的三分之一已满时

DBWn进程将经过修改的缓冲区写入磁盘(如果需要)之前

每隔3秒

在DBWn可以写入经过修改的缓冲区之前,必须先将与缓冲区更改相关联的所有重做记录写入磁盘(先行写协议)。如果DBWn发现一些重做记录尚未写入,则会通知LGWR将这些重做记录写入磁盘,并等待LGWR完成重做日志缓冲区的写入操作,然后才会写出数据缓冲区。LGWR将向当前的日志组进行写入。如果该组中的某个文件已损坏或不可用,LGWR将继续写入到该组中的其它文件,并在LGWR跟踪文件和系统告警日志中记录一个错误。如果某个组中的所有文件均已损坏,或者该组由于尚未归档而不可用,则LGWR无法继续工作。

当用户发出COMMIT语句时,LGWR会将一条提交记录放在重做日志缓冲区中,并立即将该记录随同事务处理的重做日志一起写入磁盘中。对数据块进行的相应更改将延迟,直到能够更为高效地写入这些更改时才会执行。这称为“快速提交机制”。包含事务处理提交记录的重做条目的原子写是单个事件,该事件可以确定事务处理是否已提交。Oracle DB为提交的事务处理返回一个成功代码,尽管数据缓冲区尚未写入磁盘中。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-08-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DB宝 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Which two events always request the LGWR to write?
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档