表空間數(shù)據(jù)文件容量與DB_BLOCK_SIZE的設(shè)置有關(guān),而這個(gè)參數(shù)在創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例的時(shí)候就已經(jīng)指定摇幻。DB_BLOCK_SIZE參數(shù)可以設(shè)置為4K横侦、8K挥萌、16K、32K枉侧、64K等幾種引瀑,Oracle的物理文件最大只允許4194304個(gè)數(shù)據(jù)塊(這個(gè)參數(shù)具體由操作系統(tǒng)決定,一般應(yīng)該是此數(shù)字)榨馁,表空間數(shù)據(jù)文件的最大值對(duì)應(yīng)關(guān)系就可以通過(guò)4194304×DB_BLOCK_SIZE/1024M計(jì)算得出憨栽。
4k最大表空間為:16384M
8K最大表空間為:32768M
16k最大表空間為:65536M
32K最大表空間為:131072M
64k最大表空間為:262144M
而Oracle默認(rèn)分配的為8K,也就是對(duì)應(yīng)于32768M左右的空間大小翼虫,如果想繼續(xù)增大表空間的話屑柔,只需要通過(guò)alter tablespace name add datafile ‘path/file_name’ size 1024M;
添加數(shù)據(jù)文件的方式就可以了。
數(shù)據(jù)塊是oracle中最小的空間分配單位珍剑,各種操作的數(shù)據(jù)就的放在這里掸宛,oracle從磁盤讀寫的也是塊。一旦create database招拙,db_block_size就是不可更改的唧瘾。因?yàn)閛racle是以塊為單位存儲(chǔ)數(shù)據(jù)的,任何一個(gè)存儲(chǔ)元素最少占用一個(gè)塊别凤,如果你改變了db_block_size饰序,必然導(dǎo)致部分塊不能正常使用。
其實(shí)在unix類操作系統(tǒng)中规哪,文件塊和oracle塊的關(guān)系非常緊密(建議相等)求豫,這樣才能保證數(shù)據(jù)庫(kù)的執(zhí)行效率。在windows下可能就不這么講究了。建議使用8k以上的塊蝠嘉,有人做過(guò)測(cè)試猾蒂,同樣的配置,8k的塊比4k快大約40%是晨,比2k快3倍以上肚菠。
轉(zhuǎn)至:天上掉下個(gè)藍(lán)妹妹