oracle maximum file size = db_block_size * ( ^ = )
也就是说最大的数据文件大小是由 db_block_size 来决定的 KB的数据块的数据文件最大为 K * = G 其他的以此类推
数据块 数据文件 KB GB KB GB KB GB KB GB KB GB
限制的原因在于 由于Oracle的Rowid中使用 位来代表Block号 这 位最多只能代表 ^ 个数据块
【注】以上规则适用于 *** allfile tablespace 下的数据文件 bigfile tablespace 下的数据文件不受此限制
SQL>create tablespace lob_rms datafile +DISKGRP /rms/datafile/lob_rms_ size G
create tablespace lob_rms datafile +DISKGRP /rms/datafile/lob_rms_ size G
*
ERROR at line :
ORA : File size ( blocks) exceeds maximum of blocks
SQL>!oerr ora
File size (%s blocks) exceeds maximum of %s blocks
// *Cause: Specified file size is larger than maximum allowable size value
lishixinzhi/Article/program/Oracle/201311/1742032G左右比较合适
Oracle数据库是由一个个表空间构成,表空间是由多个数据文件,数据激闭文件又是区和铅游构成,区由Oracle块构成。
64位linux和64位oracle,默认oracle表空间数据文件用的BLOCKSIZE是8k,由于Oracle的Rowid使用22位来代表数据块号,因此Oracle表空间数据文件每个数据文件最多只能包含2^22个数唤销据块。
在数据块为8k的情况下,单个数据文件的最大容量为8K*2^22=32G。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)