关于oracle db_block_size的修改

 db_block_size是oracle 数据库最小的存储单元,默认情况下大小为8K (取决于操作系统),正常来说我们在创建数据库的时候就指定了db_block_size的大小 ,但是在工作中,我们有可能有新的需求,比如在数据仓库中,我们想把ODS层的表空间设置为16K而APP层的表空间设置为8K;

create tablespace test datafile '/data/oracle/oradata/test/test01.dbf'
SIZE 30g
autoextend on
BLOCKSIZE 32k
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 2m
SEGMENT SPACE MANAGEMENT AUTO

如果直接创建表空间指定blocksize参数大小 ,那么会报 ora-29339 tablespace block size 32768 does not match configuared block size

在oracle 官方文档 Oracle® DatabaseSQL language Reference  当中

Use the  BLOCKSIZE clause to specify a nonstandard block size for the tablespace. In
order to specify this clause, the  DB_CACHE_SIZE and at least one  DB_nK_CACHE_SIZE
parameter must be set, and the integer you specify in this clause must correspond with
the setting of one  DB_nK_CACHE_SIZE parameter setting.

也就是说你当你想设置 db_block_size为32K 的时候 要配置非标准数据块的数据缓冲区DB_32K_CACHE_SIZE的大小

alter system set db_32k_cache_size=32m;
这样子才能设置表空间db_block_size


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值