ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE bigfile tablespace

ORACLE bigfile tablespace

原创 Linux操作系统 作者:hujunhua19 时间:2011-03-22 11:26:35 0 删除 编辑

数据库是由一个或多个被称为表空间(tablespace)的逻辑存储单位构成。表
空间内的逻辑存储单位为段(segment),段又可以继续划分为数据扩展
(extent)。而数据扩展是由一组连续的数据块(data block)构成。

大文件表空间

在Oracle中用户可以创建大文件表空间(bigfile tablespace)。这样Oracle数据
库使用的表空间(tablespace)可以由一个单一的大文件构成,而不是若干个
小数据文件。这使Oracle可以发挥64位系统的能力,创建、管理超大的文
件。在64位系统中,Oracle数据库的存储能力被扩展到了8 EB(1EB =
1024PB,1PB = 1024TB,1TB=1024GB)。

当数据库文件由Oracle管理(Oracle-managed files),且使用大文件表空间
(bigfile tablespace)时,数据文件对用户完全透明。换句话说,用户只须针
对表空间(tablespace)执行管理操作,而无须关心处于底层的数据文件
(datafile)。使用大文件表空间,使表空间成为磁盘空间管理,备份,和恢
复等操作的主要对象。使用大文件表空间,并与由Oracle管理数据库文件
(Oracle-managed files)技术以及自动存储管理(Automatic Storage
Management)技术相结合,就不再需要管理员手工创建新的数据文件
(datafile)并维护众多数据库文件,因此简化了数据库文件管理工作。

数据库默认创建的是小文件表空间(smallfile tablespace),即Oracle中传统的
表空间(tablespace)类型。数据库中 SYSTEM 和 SYSAUX 表空间在创建时总
是使用传统类型

只有本地管理的(locally managed),且段空间自动管理(automatic segmentspace
management)的表空间(tablespace)才能使用大文件表空间(bigfile
tablespace)。但是有两个例外:本地管理的撤销表空间(undo tablespace)和
临时表空间(temporary tablespace),即使其段(segment)为手工管理
(manually managed),也可以使用大文件表空间。

一个Oracle数据库可以同时包含大文件/小文件表空间(bigfile/smallfile
tablespace)。SQL语句执行时无需考虑表空间(tablespace)的类型,除非语
句中显式地引用了数据文件(datafile)名。

管理员可以创建一组临时表空间(temporary tablespace),用户在需要时可以
利用组内各个表空间(tablespace)提供的临时空间。管理员还可以指定表空
间组(tablespace group)为数据库默认的临时表空间。当用户需要大量临时
空间进行排序操作时,就可以利用大文件表空间及表空间组。

使用大文件表空间的优势

● 使用大文件表空间(bigfile tablespace)可以显著地增强Oracle数据库的
存储能力。一个小文件表空间(smallfile tablespace)最多可以包含1024
个数据文件(datafile),而一个大文件表空间中只包含一个文件,这
个数据文件的最大容量是小数据文件的1024倍。这样看来,大文件表
空间和小文件表空间的最大容量是相同的。但是由于每个数据库最多
使用64K个数据文件,因此使用大文件表空间时数据库中表空间的极
限个数是使用小文件表空间时的1024倍,使用大文件表空间时的总数
据库容量比使用小文件表空间时高出三个数量级。换言之,当一个
Oracle数据库使用大文件表空间,且使用最大的数据块容量时
(32K),其总容量可以达到8EB。
● 在超大型数据库中使用大文件表空间减少了数据文件的数量,因此也
简化了对数据文件的管理工作。由于数据文件的减少,SGA中关于数
据文件的信息,以及控制文件(control file)的容量也得以减小。
● 由于数据文件对用户透明,由此简化了数据库管理工作。

使用大文件表空间时需要考虑的因素

● 大文件表空间(bigfile tablespace)应该和自动存储管理(Automatic
Storage Management)或其他逻辑卷管理工具(logical volume manager)
配合使用,这些工具应该能够支持动态扩展逻辑卷,也能支持striping
(数据跨磁盘分布)或RAID。
● 应该避免在不支持striping的系统上使用大文件表空间,因为这将不利
于并行执行(parallel execution)及 RMAN 的并行备份(backup
parallelization)。
● 当表空间正在使用的磁盘组(disk group)可能没有足够的空间,且扩
展表空间的唯一办法是向另一个磁盘组加入数据文件时,应避免使用
大文件表空间。
● 不建议在不支持大文件的平台上使用大文件表空间,这会限制表空间
(tablespace)的容量。参考相关的操作系统文档了解其支持的最大文
件容量。
● 如果使用大文件表空间替代传统的表空间,数据库开启(open),
checkpoints,以及 DBWR 进程的性能会得到提高。但是增大数据文件
(datafile)容量可能会增加备份与恢复的时间。

 

提示:
当用户在创建表空间(tablespace)时没有指定数据扩展
(extent)的管理方式,默认使用本地管理(locally managed)。

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24270312/viewspace-690140/,如需转载,请注明出处,否则将追究法律责任。

上一篇: Managing Undo Data
请登录后发表评论 登录
全部评论

注册时间:2011-03-21

  • 博文量
    18
  • 访问量
    17874