数据库高速缓冲区(database buffer cahce)

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

数据库高速缓冲区(database buffer cahce)

属于SGA,用于在内存中存放从数据文件中读取的数据块(data blocks)。

用户提交SQL查询语句时,服务器进程首先会在数据库高速缓冲区中查找相关的数据,如果没有找到才会进行磁盘操作,把数据文件中的数据读入数据库高速缓冲区中。

Oracle也是通过LRU队列和算法维护数据库高速缓冲区的。参数文件中的DB_BLOCK_SIZE和DB_BLOCK_BUFFERS两个参数用于设置数据库高速缓冲区的大小。

DB_BLOCK_SIZE为Oralce数据块的大小,等于内存缓冲区的大小。DB_BLOCK_BUFFERS是内存缓冲区的个数。数据块高速缓冲区的大小为这两个参数的乘积。由于DB_BLOCK_SIZE的大小在数据库创建时指定,改变此参数一般需要重建数据库,所以如果要修改数据库高速缓冲区的大小,一般修改DB_BLOCK_BUFFERS的值,修改此参数后,需要重启数据库。

Oracle 9i之后,引入了一个动态参数DB_CACHE_SIEZ,可以动态修改数据库高速缓冲区的大小。
命令为:
alter system set DB_CACHE_SIZE = XXXM




转载于:https://my.oschina.net/pkpk1234/blog/57524

你可能感兴趣的:(数据库高速缓冲区(database buffer cahce))