数据高速缓存(Database Buffer Cache)用于存放最近访问的数据块信息,它由许多小缓冲区(缓冲区尺寸=数据块尺寸)组成。
问:数据块具体是什么东东?表?记录?还是其它什么?
    缓冲区尺寸=数据块尺寸这一关系该如何理解?
数据高速缓存分为脏缓冲区、空闲缓冲区和芒缓冲区。其中,脏缓冲区是指内容与相应数据块不一致的缓冲区。
问:缓冲区和数据块有什么联系,什么操作可以使缓冲区与数据块内容不一致?

解决方案 »

  1.   

    block是块,即是oracle存储的最少单位,一组block构成extent, extent是在segment下管理的。oracle从数据文件读取数据块(block)到SGA,即db_cache.
      

  2.   

    数据块在oracle中是最小空间分配单位,数据行,索引条目等等都存储在块中,块常见4种大小:2,4,8,16KB,在创建表的时候有默认会初始他块的大小,当然也可以自定义块大小,这样块就有6中大小了,脏数据指的是将缓存中的数据要写到磁盘上
      

  3.   

    接着楼上的讲,表是一种segment(段).记录就是表中的一条数据。是存放在数据块中的(block)。每条记录都有一个rowid,它的数据记录了这条记录是放在哪个数据文件,的哪个数据块上,的哪一行。这个可以去网上找找资料看看。
    数据高速缓存(Database Buffer Cache)是为了提高访问速度的,比如你发布了一个查询语句,数据库就会去查找符合条件的数据,先找到数据文件,然后找到数据块。这个时侯Database Buffer Cache就会把这些数据块存储起来。你下次再次发布同样的sql的时候就会直接从内存里面读取。速度就会快很多倍。
    脏缓冲区 就是在内存里面的数据块里面的数据被修改了。而dbwn没有把改变写到数据块中。就如你update了一条记录却没有commit。这个时候的这条数据所在的数据块就存放在脏缓冲区中。我乱说的。希望能给楼主一点帮助。