介绍下oracle的BIGFILE大文件表空间的优点及创建方式。
工具/原料
oracle 10g 以上
什么是BigFile大文件表空间
1、BigFile大文件表空间是相对SmallFile小文件表空间来定义的。Oracle默认创建表空间的datafile的类型为Small File类型。BigFile是Oracle10g版本新增的数据表空间类型,此类型的表空间只能创建一个数据文件,但此数据文件的容量大小是1024个SmallFile表空间类型的数据文件的大小总和。
1、BigFile表空间与SmallFile表空间的区别
1、数据文件个数上限不同。BigFile表空间只能创建一个datafile数据文件,SmallFile表空间最多可以创建1024个数据文件。
2、数据扩展管理方式不一样。SmallFile表空间的数据扩展方式为:本地管理(locally managed);BigFile表空间的数据扩展方式为:自动段空间管理的 LMT (Locally Managed Tablespaces );
3、容量大小不相等。大文件表空间时的总数据库容量比使用小文件表空间时高出三个数量级。大文件表空间只能包含一个文件,但是文件可以达到 4G 个数据块大小。
2、创建BigFile表空间
1、创建 BIGFILE 类型的表空间,只需指定额外的一个参数 BIGFILE 即可,其他和原有创建表空间语法类似:CREATE BIGFILE TABLESPACEbigfile_tablespace_nameDATAFILE '/u01/app/oracle/oradata/DEMO/bftbs01.dbf' SIZE 5M;
2、 数据库在创建的时候,会指定默认的表空间类型。如果不特殊指定的话,默认为 SMALLFILE 类型的表空间。
3、使用BigFile表空间要考虑的因素
1、当表空间正在使用的磁盘组(disk group)可能没有足够的空间,且扩展表空间的唯一办法是向另一个磁盘组加入数据文件时,应避免使用大文件表空间。
2、如果使用大文件表空间替代传统的表空间,数据库开启(open),checkpoints,以及 DBWR 进程的性能会得到提高。但是增大数据文件(datafile)容量可能会增加备份与恢复的时间。
3、大文件表空间(bigfile tablespace)应该和自动存储管理(AutomaticStorage Management)或其他逻辑卷管理工具(logical volume manager)配合使用,这些工具应该能够支持动态扩展逻辑卷,也能支持striping(数据跨磁盘分布)或RAID。
4、BigFile表空间的优点
1、当一个Oracle数据库使用大文件表空间,且使用最大的数据块容量时(32K),其总容量可以达到 8EB。
2、在超大型数据库中使用大文件表空间减少了数据文件的数量,因此也简化了对数据文件的管理工作。由于数据文件的减少,SGA中关于数据文件的信息,以及控制文件(control file)的容量也得以减小。
3、由于数据文件对用户透明,由此简化了数据库管理工作。