基于SGA范围的一个理解,请指正

[复制链接]
查看11 | 回复5 | 2008-1-2 17:35:53 | 显示全部楼层 |阅读模式
下面的内容是我的基于SGA范围的一个理解,请指正

当用户进行操作,像SQL,PL语句的执行,在shared pool中的library cache中,存储的是语句的解析和执行计划,在buffer cache中,从datafile中读取的数据块的副本。

(1)
如果是update,delete操作
读取数据块副本到buffer cache,经过修改后,修改过的buffer同样放到redo log buffer 中(这里是直接buffer复制过去???),然后当有触发LGWR的事件发生的时候,Redo log buffer开始写入redo log中,完成后DBWn 把buffer cache相应的部分写入到datafile中。

(2)
如果进行的是insert操作
直接在redo log buffer中开辟内存空间来存放这个操作数据。当有触发LGWR事件的时候,redo log buffer中的数据写入到redo log中,并把相应的buffer复制到buffer cache中,以在LGWR完成写操作后,DBWn对这些buffer写入到datafile中

(3)
如果进行的是DDL操作
DDL的操作是要影响到数据字典的,而shared pool中有data dictionary cache。
有谁能帮忙讲下这块内容的实现过程吗?自己比较迷糊
[ 本帖最后由 joeldavid 于 2008-3-28 13:50 编辑 ]
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
可以先去看看sg
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
我在想是不是:
shared pool中,使用经过解析的 SQL 语句(library cache)去访问数据字典(data dictionary cache),然后引起的变化(如DDL事件),反馈到数据字典
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
SG没有,可否提供个
顺带可以指正下!
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
大家帮忙解答一下,关注
回复

使用道具 举报

千问 | 2008-1-2 17:35:53 | 显示全部楼层
oracle的官方网站上就有下载的。free。
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行