标准数据块的大小被用于系统SYSTEM和临时TEMPORARY表空间,除非有特别的说明,标准数据块的大小也被用作一个表空间的数据块的默认值。
数据库中,标准数据快的大小是在数据库创建的时候,使用DB_BLOCK_SIZE初始化参数设置的,要改变这一设置,就需要重新建立数据库。大多数情况下,DB_BLOCK_SIZE被设为4kb或8kb。在一般情况下,默认值是合适的。
DB_CACHE_SIZE:默认的高速缓存的大小,它最小尺寸为一个granule,默认值为48MB。
如果要在数据库中使用多个数据块,就必须定义DB_CACHE_SIZE和至少一个DB_nK_CACHE_SIZE参数。且前者与后者的n要相等。
可以使用以下的动态参数配置额外的非标准块的高速缓存:
①DB_2K_CACHE_SIZE用于2KB数据块
②DB_4K_CACHE_SIZE用于4KB数据块
③DB_8K_CACHE_SIZE用于8KB数据块
④DB_16K_CACHE_SIZE用于16KB数据块
⑤DB_32K_CACHE_SIZE用于32KB数据块
如果在数据库中有任何数据块的高速缓存的大小为nKB的联机表空间存在,就不可以将DB_nK_CACHE_SIZE设置为0。
如果nK是标准块的大小,则DB_nK_CHACHE_SIZE被禁止,每个高速缓存的最小尺寸为一个granule(4m or 16m)
查询数据快的尺寸和状态的SQL语句:
SELECT tablespace_name, block_size, status, contents
FROM dba_tablespaces;
使用多种数据块尺寸的原则如下:
①一个分区对象的所有分区partition,必须存在相同尺寸的表空间中。
②所有临时表空间,包括被用作默认临时表空间的永久表空间必须是标准块尺寸。
③Idex-organized表的overflow和out-of-line LOB段可以存在于基表不同块大小的表空间中