oracle数据文件的大小存在一个内部限制,这个限制是:每个数据文件最多只能包含2^22-1个数据块。这个限制也就直接导致了每个数据
oracle数据文件的大小存在一个内部限制,这个限制是:
每个数据文件最多只能包含2^22-1个数据块。
这个限制也就直接导致了每个数据文件的最大允许大小。
在2k block_size下,数据文件最大只能达到约8g
在32k的block_size下,数据文件最大只能达到约16*8g的大小。
这个限制是由于oracle的rowid中使用22位来代表block号,这22位最多只能代表2^22-1个数据块。
为了扩展数据文件的大小,oracle10g中引入了大文件表空间,,在大文件表空间下,oracle使用32位来代表block号,也就是说,在新的技术下,大文件表空间下每个文件最多可以容纳4g个block。那么也就是说当block_size为2k时,数据文件可以达到8t。当block_size为32k时,数据文件可以达到128t。
当然这一限制和操作系统有关。