针对oracle的commit操作 5

针对oracle的commit操作,我有一个问题,就是当oracle解析和执行一条dml语句的时候,commit操作将事务变化写入到重做日志文件,当我想知道脏数据缓冲区是... 针对oracle的commit操作,我有一个问题,就是当oracle解析和执行一条dml语句的时候,commit操作将事务变化写入到重做日志文件,当我想知道脏数据缓冲区是如何让写入到数据文件的?是在什么时候触发的ckpt实现的数据文件同步? 展开
 我来答
wan飞翔
2011-04-27 · TA获得超过916个赞
知道答主
回答量:85
采纳率:0%
帮助的人:40.8万
展开全部
这一块 你要了解“脏缓冲区”的概念
脏缓冲区(不一致的数据),一般DML操作:如update后且没有commit操作时,新数据与旧数据同存脏缓冲区,后:旧数据被写到回滚段,新数据存于数据缓冲区,
在commit后 LGWR进程会将redo缓冲区的记录写入redo.log文件
已经commit后的数据直接通过DBWR进程将数据写入到了.dbf文件中了

有异议可追问,先把悬赏分给我 我会补充的更详细点!
更多追问追答
追问
那我请问 是由于什么原因启动dbwr的进程,dbwr进程只有在系统发出检查点,或者服务器进程不能找到空闲缓冲区,删除或者截断表,备份或者脱机!
追答
对啊,你都说出来了,满足那5点都会启动dbwr的进程,那你想知道什么?
你是否明白数据库结构?实例instance有哪几部分组成?
“脏数据缓冲区是如何让写入到数据文件的?”而且你这个问题中文语法存在异议?什么叫脏数据缓冲区是如何“让”写?
你是想表达“脏数据如何写入到数据文件”的吧?这个问题从上面这些文字应该得到答案了吧?
还有“是在什么时候触发的ckpt实现的数据文件同步?”也有异议....请问你又是否明白“你说的ckpt同步”同步的啥?ckpt对controlfile redofile,datafile又做了啥?

晕死!不给分我 还追问我????太小气了吧!!!!
上面注明:“有异议可追问,先把悬赏分给我”,你太小气了 真的

还有:你给的悬赏才5分,我打了那么多字!!有本事你给我在5分的基础上再加分,我可以继续和你探讨更深的(高可用性DG,RAC,超海量数据PL/SQL开发及性能优化,数据库设计等等等等问题,前提:5分的基础上再加分)
mailking2001
2011-04-25 · TA获得超过817个赞
知道小有建树答主
回答量:1037
采纳率:100%
帮助的人:755万
展开全部
写数据文件是DBWn进程,通常是log buffer 区1/3的时,超过1M时,每3秒,都会写。还有的不记得了
追问
那是LGWR触发的事件!不是dbwr要求触发的时间。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式