您的位置:首页 > 数据库 > Oracle

Oracle数据块的学习

2012-01-01 14:40 127 查看
标准数据块的大小被用于系统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段可以存在于基表不同块大小的表空间中


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: