Oracle数据文件大小限制原因

rowid:数据库中行的全局唯一地址,对于数据中的第一行,

rowid伪列返回行的地址。


rowid值主要包含以下信息:
  1.对象人数据对象编号
  2.该行所在的数据文件中的数据块
  3.该行中数据块的问位置
  4.数据行所在的数据文件

   oooooo:数据对象编号(6位表示)
   fff:相关数据文件编号(3位表示)
   bbbbbb:数据块编号(6位表示)
   rrr:数据块中行的编号(3位表示)

rowid内部存储,扩展rowid在大多数平台上采用10个字节存储
   规则如下:
        数据对象编号------32bit
        数据文件编号------10bit
        数据块编号--------22bit
        数据块中行编号----16bit     

因为 rowid 用 22 位来表示 block 号,那这22位最多只能代表

2^22-1个数据块。

则oracle数据文件大小限制公式:
   
   oracle maximum file size = db_block_size *( 2^22-1)

   则当数据块大小为8k时:
   
   oracle maximum file size = 8 * (2^22-1)K= 2^25K = 32G
   (1G=1024M=1024*1024K=2^20K)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值