您的位置:首页 > 数据库 > Oracle

Oracle-Bigfile and Smallfile

2008-10-17 15:57 369 查看
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命令。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: