之前一直有想过这个问题,今天再读concepts的时候,读到DB_BLOCK_SIZE这个参数就试着刨刨低。到底支持多大的数据文件,和什么有关?
参考Oracle官方的文档 http://docs.oracle.com/cd/E18283_01/server.112/e17110/limits002.htm Version 11gR2.里面有这样一句话:
[td]
按照官方的说明来看是和平台有关。我们指导数据库的存储逻辑结构是data block==>extents==>segments==>tablespaces.物理结构是OS block==>data file。那么这个问题可以转成成一个数据文件可以最多存放多少个数据块。文档的意思是一般是 2 22 - 1 个数据块。
那么数据文件上限的大小可以得出计算公式:
(2 22 - 1)*DB_BOLCK_SIZE,单位为KB。
那么如果DB_BLOCK_SIZE为2k~32k的话。所对应的数据文件大小上限都出来了:(通过其他途径得到 2 22 - 1= 4194393 )
SQL> select 4194393*2/1024/1024 GB from dual; ===>2k
GB
----------
8.00016975
SQL> select 4194393*4/1024/1024 GB from dual;===>4k
GB
----------
16.0003395
SQL> select 4194393*8/1024/1024 GB from dual;===>8k
GB
----------
32.000679
SQL> select 4194393*16/1024/1024 GB from dual;===>16k
GB
----------
64.001358
SQL> select 4194393*32/1024/1024 GB from dual;===>32k
GB
----------
128.002716
参考Oracle官方的文档 http://docs.oracle.com/cd/E18283_01/server.112/e17110/limits002.htm Version 11gR2.里面有这样一句话:
[td]
Item
|
Type of Limit
|
Limit Value
|
|
按照官方的说明来看是和平台有关。我们指导数据库的存储逻辑结构是data block==>extents==>segments==>tablespaces.物理结构是OS block==>data file。那么这个问题可以转成成一个数据文件可以最多存放多少个数据块。文档的意思是一般是 2 22 - 1 个数据块。
那么数据文件上限的大小可以得出计算公式:
(2 22 - 1)*DB_BOLCK_SIZE,单位为KB。
那么如果DB_BLOCK_SIZE为2k~32k的话。所对应的数据文件大小上限都出来了:(通过其他途径得到 2 22 - 1= 4194393 )
SQL> select 4194393*2/1024/1024 GB from dual; ===>2k
GB
----------
8.00016975
SQL> select 4194393*4/1024/1024 GB from dual;===>4k
GB
----------
16.0003395
SQL> select 4194393*8/1024/1024 GB from dual;===>8k
GB
----------
32.000679
SQL> select 4194393*16/1024/1024 GB from dual;===>16k
GB
----------
64.001358
SQL> select 4194393*32/1024/1024 GB from dual;===>32k
GB
----------
128.002716
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26169542/viewspace-774790/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/26169542/viewspace-774790/