lucheng918的个人博客分享 http://blog.sciencenet.cn/u/lucheng918

博文

oracle段区块——buffer cache

已有 2665 次阅读 2014-3-12 00:21 |个人分类:SGA|系统分类:科研笔记

:可以视为表

:可以视为oracle向表分配空间的最小单位。是物理上连续的oracle块。

:放数据行,基本上一个块有多个行。所以块是oracle的最小操作单位,也就是IO的最小单位。每当读数据一行时,就会对整个块进行操作。如果读取这一块的其它行数据,会加快速度。

硬盘读取时间最耗时间的是寻道时间。

buffer cache:缓存的是dbf的数据。内存里一个块叫block,buffer cache中叫buffer,每个都是8k。

buffer cache意义:(1)缓存dbf数据,从而减少物理IO。oracle数据要读一个表,会获得数据在哪个段的哪个块的哪个行,会直接先去buffer cache中找,如果没有就去磁盘中找,产生物理IO,如果有的话,就发生逻辑IO,也就是内存读。(2)可以构造CR块,当遇到要读未提交的数据时,buffercache会在重新建一个块来还原修改之前的信息,这样就维护的读一致性。CR块:consistent read块也就是用来维护oracle的读一致性的数据块。当查询某些数据的时候,发现数据块的版本比我们要查询的新,例如session1执行了dml操作并没有提交,session2此时查找跟session1相关的dml操作的数据信息,此时查询的数据却是原来的数据信息。

ROLLBACK:撤销操作。从undo表空间中读取之前的操作。只要未提交,就可以回滚,别的绘画也看不见这些操作。
undo:可以对未提交的操作回滚,可以帮助CR块的构建。



https://wap.sciencenet.cn/blog-780964-775168.html

上一篇:shared pool内存组成及如何减少硬解析、解决4031错误
下一篇:如何设置shared pool和sga大小
收藏 IP: 168.160.22.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-21 21:04

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部