oracle数据块的大小

时间:2024-05-06 23:04:55

标准数据块用于临时表空间和系统表空间,同时也是一个表空间数据块的默认值。标准数据块的大小是在创建数据库时由参数DB_BLOCK_SIZE确定的。若要改变这一设置必须重建数据库。

DB_CACHE_SIZE设置数据库高速缓存的大小。其最小尺寸为一个granule,高速缓存的数据块的大小必须等于标准数据块的大小,因为标准数据块是数据库输入输出的基本单位和最小单位,数据由数据文件加载进入内存的最小数据容量必须是一个标准块。

如果要在数据库中使用非标准数据块就必须定义DB_CACHE_SIZE 和DB_nK_CACHE_SIZE参数。DB_nK_CACHE_SIZE参数定义了所使用的非标准数据块对应的高速缓存的数据块的大小

使用多种数据块尺寸的原则:

1、分区对象的所有分区必须存储在相同块尺寸的表空间中

2、所有临时表空间,包括用做默认临时表空间的永久表空间必须使用标准数据块。

创建非标准数据块时,可以在create语句后面加上blocksize nK子句。同时必须定义DB_CACHE_SIZE 和DB_nK_CACHE_SIZE参数,blocksize子句中的n与DB_nK_CACHE_SIZE中的n必须对应相同,才能创建这样的表空间。

注:如果不是非必要尽量避免创建非标准数据块尺寸的表空间。使用非标准数据块尺寸的表空间会增加内存的开销同时也会使得数据库的管理和维护变得更加复杂。