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。 固然这一限制和操做系统有关