【轉】Oracle-Bigfile and Smallfile

victorymoshui發表於2010-05-22

Oracle-Bigfile and Smallfile
在建立tablespace的時候,有BigFile和SmallFile兩種方式:
BigFile建立的TableSpace可以達到2的32次方個blocks,只能建立一個Datafile。 而SmallFile最大到2的22次方,SmallFile最多可以建立1022個Datafile,總和稍少於BigFile。兩者在效能方面有什麼區別?
因為Bigfile的Tablespace不能有多個檔案,必須保證在同一個磁碟空間有足夠的容量。Oracle文件建議使用ASM或者logical volume managers that support RAID and dynamically extensible logical volumes.
出於節點考慮,使用ASM並不是建議,而是必須。如果你在一般計算機上建立BigFile,就會有很大的inode locking issues問題出現,所以ASM是必須的。
如果使用BigFile建立Temp Tablespace,在排序過程中會很大程度的影響Oracle效能,用多個Temp檔案是為了達到並行排序從而優化效能。
多個temp datafile可以提高效能,因為多個子程式可以並行的對不同磁碟上的檔案進行操作,他們共享了所有的IO,。當選用BigFile作為tempfile時,那麼這個優勢將不在存在。

BigFile的優勢:
1. 在初始化期間,由於DB_FILEsS init比較小,所以需要的SGA也比較小,引數和控制檔案也比較小(無法理解用SmallFile會增加多少引數和控制檔案大小)
2. 由於BigFile只能有一個檔案組成,所以操作簡單(和效能相比,這也能算優勢)
logging :說明在該表空間中所有資料的變化都將寫入重做日誌檔案,這是預設方式;
nologging :說明在該表空間所有資料的變化不寫入重做日誌檔案,nologging 隻影響一些DML和DDL命令。

本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/terryhuang/archive/2008/10/17/3092227.aspx

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9390331/viewspace-663430/,如需轉載,請註明出處,否則將追究法律責任。

相關文章