redo buffer的内容是哪个进程写入的?

[复制链接]
查看11 | 回复9 | 2010-11-11 18:03:08 | 显示全部楼层 |阅读模式
对这个问题一直迷迷糊糊的,
redo buffer写到 redo log是lgwr来进行的
但是redo buffer本身的内容是谁写入的?
还有undo buffer的内容又是哪个进程写入的呢?

回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
传个最标准的图
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
请问 sundog315
你的意思 ,redo buffer的写入 也是 lgwr吗?
而undo buffer因为就是在db cache buffer,所以也是DBWR读入的吗?
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
> redo buffer的写入 也是 lgwr吗?
No. Server (shadow) processes write to log buffer. LGWR writes redo records from the log buffer to the log file.
> 而undo buffer因为就是在db cache buffer,所以也是DBWR读入的吗?
Not quite sure what you mean. "Undo buffer" is just a buffer in buffer cache that corresponds to a block in an undo tablespace. Treat it like any other data block. It's written into buffer cache by a server process and written out to datafiles by DBWn.
Yong Huang
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
Yong Huang 发表于 2012-2-28 00:34
> redo buffer的写入 也是 lgwr吗?
No. Server (shadow) processes write to log buffer. LGWR writes...

我有个疑问
既然 “Server (shadow) processes write to log buffer”
那为何不专门也命名一个 logreader的进程呢?
同理
“It's written into buffer cache by a server process ”
那么这个进程为何不命名为dbreader呢?
这样不是要明确很多吗?

回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
jayli426 发表于 2012-2-28 11:50
我有个疑问
既然 “Server (shadow) processes write to log buffer”
那为何不专门也命名一个 logread ...

既然redo是service process处理DML时产生的,就没有必要再去弄个进程来处理这个事,并且,这个进程也不能共享。
不是所有的操作都要创建一个新的进程。
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
本帖最后由 jayli426 于 2012-2-28 13:46 编辑
sundog315 发表于 2012-2-28 12:34
既然redo是service process处理DML时产生的,就没有必要再去弄个进程来处理这个事,并且,这个进程也不能 ...

我突然有了这么一个感觉,如果内存部分的操作,通常都是一个server process来做(特别是同步)
但是涉及IO(特别是异步),就需要一个专门的进程来完成
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
有些时候 感觉是没有用的
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
vmcd_gg 发表于 2012-2-28 14:45
有些时候 感觉是没有用的

呵呵,能否给一些技术层面的明示呢?
反正目标也是把问题讨论清楚
回复

使用道具 举报

千问 | 2010-11-11 18:03:08 | 显示全部楼层
> 涉及IO(特别是异步),就需要一个专门的进程来完成
A server process can always read datafiles. But normally only DBWn can write to them. Also remember a server process can read and write a tempfile.
Yong Huang
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行