Oracle数据块的大小

标准数据块的大小被用于系统和临时表空间,除非有特别的说明,除非有特别的说明,标准数据块的大小也被用作一个表空间的数据块的默认值。数据库中标准数据块的大小是在数据库创建时使db_blcok_size初始化参数设置的,若要改变这一设置就需要重建数据库。在Oracle9i或以上的版本中,每个Oracle数据库中除了标准数据块之外还支持最多4中不同大小的数据块。
     一般将最常用的数据块大小选为标准数据块的大小,在大多数情况下,这也是唯一需要说明的数据块大小,在多数情况下,db_block_size被设置为4k或8k。如果没有说明,默认数据块的大小与操作系统相关的。
  db_cache_size说明了默认高速缓存的大小。它的最小尺寸为一个granule(4mb or 16mb)默认值为48mb.该高速缓存的数据块的大小为标准数据块的大小,由db_block_size所定义。
   使用高速缓存初始化参数来定义SGA中高速缓存的大小,如果要在一个数据库中使用多个数据块,就必须定义db_cache_size和至少一个DB_nk_cache_size参数。可以使用以下的动态参数配置额外的非标准块的高速缓存。
*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数据块
以上每个参数定义了所对应数据块的高速缓存的大小。db_nk_cache_size的默认值为0.如果在数据库中有任何数据块大小为nKB的联机表空间存在,就不可以将db_nk_cache_size置为0.如果nk是标准快的大小,则db_nk_cache_size被禁止。每个而高速缓存区的最小尺寸为一个granule。

数据块大小还受到IT平台的一些限制。如所使用的IT平台上最小块的尺寸为2KB,就不能设置DB_2k_CACHE_SIZE,如果所使用的IT平台的最大快的尺寸为32KB,也不能设置为db_32k_cache_size
.

使用多种数据块尺寸的原则如下:
*一个分区对象的所有分区必须存在相同块尺寸的表空间中。

*所有临时表空间,包括默认的临时表空间的永久表空间必须是标准块尺寸。

*Index_organized表的overflow和out-of-line LOB段可以存在于基表不同块大小的表空间中。

 

那么怎么创建非标准块尺寸的表空间。可以通过在create tablespace 语句中使用bolocksize nk或block n 子句来创建非标准尺寸的表空间。这里n为正整数,单位为字节,如果使用了后缀k,单位为k字节。
 为了使用这一子句,必须首先设置db_cache_size和至少一个db_nk_cache_size参数。而且该子句中的正整数n也必须与对应的db_nk_cache_size参数中的正整数n相同。
  
SQL> select tablespace_name,blocK_size,status,contents from dba_tablespaces;

TABLESPACE_NAME BLOCK_SIZE STATUS    CONTENTS
--------------- ---------- --------- ---------
SYSTEM                8192 ONLINE    PERMANENT
UNDOTBS1              8192 ONLINE    UNDO
SYSAUX                8192 ONLINE    PERMANENT
TEMP                  8192 ONLINE    TEMPORARY
USERS                 8192 ONLINE    PERMANENT
TEST                  8192 READ ONLY PERMANENT

6 rows selected.

查询得出:每个表空间都是8kb

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle是一种关系型数据库管理系统,在物理存储层面上,数据存储在逻辑上连续的数据中。Oracle使用数据作为最小的存储单位,每个数据大小是固定的,通常为8KB。每个数据由若干数据页组成,数据页是数据的逻辑单位,每个数据页通常存储一行或多行的数据数据Oracle数据库的基本存储单位,它被分为数据区域、管理信息和空闲空间。数据区域存储实际的数据,管理信息包括数据的标识信息、校验和以及数据上的锁信息等,空闲空间用于存储未使用的空间,以便存储新的数据数据的分配和释放是由Oracle数据库管理系统自动完成的,数据被分为表空间表空间可以包含一个或多个数据文件,每个数据文件可以包含多个数据Oracle通过数据字典来记录数据数据文件之间的映射关系,以便有效地管理和访问数据数据大小数据库的性能和存储空间有着重要的影响。较小的数据可以提供更高的并发性能和更好的数据利用率,但会消耗更多的物理存储空间,而较大的数据可以减少存储空间的消耗,但会降低并发性能和数据利用率。 总之,数据Oracle数据库的基本存储单位,它可以容纳多行数据,并且由数据页组成。通过合理配置数据大小和管理数据的分配和释放,可以提高数据库的性能和存储效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值