直接利用ALTER TABLESPACE修改大文件

  Oracle10g引进了一个新的表空间类型,那就是大文件(BIGFILE)。它不像传统的表空间那样由1022个文件组成;一个大文件(BIGFILE)表空间却保存在一个单一的数据文件中,同时它的数据量也需要更大的硬盘容量;大文件(BIGFILE)表空间能根据选择的块的大小而变化,从32TB增长至128TB。

  改变传统的表空间大小意味着要使用ALTER DATABASE语句来重新设置它的数据文件的大小,可以通过完整的操作系统路径名或者内部文件号辨别每个数据文件,并重新来设置它们的大小。

  ALTER DATABASE
  DATAFILE '/u07/oracle/oradata/train/media01.dbf'
  RESIZE 1G;

  同样,也可以通过设置每个数据文件各自的属性来设置一个表空间的自动扩展属性。

  ALTER DATABASE
  DATAFILE '/u07/oracle/oradata/train/media01.dbf'
  AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

  对于有上百个数据文件的大型表空间,这是一个很零碎的工作。但是因为大文件(BIGFILE)表空间只有一个数据文件,所以当它们需要重新设置大小时不需要标识数据文件。使用ALTER TABLESPACE命令能在表空间层次上更方便的重新设置大小。

  ALTER TABLESPACE media
  RESIZE 1G;

  同样,对于表空间来说数据文件的AUTOEXTEND(自动扩展)属性可能被改变用来作为大文件(BIGFILE)表空间的整体属性。

  ALTER TABLESPACE media
  AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

  如果你正在使用ASM盘组与ORACLE管理文件,你会得到一个特别的好处,这是因为当你在可能不知道一个数据文件准确名字的时候,你就可以使用它来自动生成。

  然而,不应该仅仅使用大文件(BIGFILE)表空间的这一个特点。大文件(BIGFILE)表空间是被设计使用在存储区域网络上(SAN)、磁盘阵列上、自动存储管理(ASM)上和类似的提供禁止数据访问多设备的存储解决方案上。因为它们只有一个数据文件,它们就没有必要在个别的数据文件之间去装载平衡了,或者如果这些技术没有被使用,就可以增加一个附加的数据文件作为表空间扩展。