发布时间:2012-12-28 19:48:49
一、Buffer cache作用: Buffer cache是Oracle建立的数据文件的缓冲区。Oracle中所有Select、DML、DDL等命令,凡是需要所有对数据文件进行读、写操作的,基本上都是对Buffer cache进行读、写操作。如果需要读或写的块没有包括在Buffer cache,Oracle会先把它读进Buffer cache中,再进行读、写。 通常,如果要读的块已经在Buffer cache中了,Oracle将不必再访问磁盘数据文件,这个读操作被称为逻辑读。也就是没有真正读写磁盘的意思。 ......【阅读全文】
发布时间:2012-12-28 19:48:03
一、LRU链: 任何缓存的大小都是有限制的,并且总不如被缓存的数据多。就像Buffer cache用来缓存数据文件,数据文件的大小远远超过Buffer cache。因此,缓存总有被占满的时候。当缓存中已经没有空闲内存块时,如果新的数据要求进入缓存,就只有从缓存中原来的数据中选出一个牺牲者,用新进入缓存的数据覆盖这个牺牲者。这一点我们在共享池中曾提及过,这个牺牲者的选择,是很重要的。缓存是为了数据可以重用,因此,通常应该挑选缓存中最没有可能被重用的块当作牺牲者。牺牲者的选择,从CPU的L1、L2缓存,到共享池、Buffer ca......【阅读全文】