利用多个转储文件导出大量Oracle数据

  Oracle的数据导出实用工具是整个备份策略中很重要的一部分。使用该工具你可以恢复小到单个数据表的数据,这对于常规的基于数据文件的备份来说是很难做到的。

  但是随着数据库和单个数据表的不断增大,创建一个足够大的导出文件以包含这些数据变得相当困难。

  很多数据库管理员(DBA)还没有意识到可以使用多个输出文件来保存导出数据。如果一个磁盘分区没有足够的空间,或者数据库的大小超过了操作系统对单个文件大小的限制,我们只要将它分割成多个文件即可。

  从Oracle 8i开始,FILE参数可以接受由逗号分开的多个路径名。FILESIZE参数可用来指定向一个文件存放多少数据,然后转向另一个文件。如果导出程序用完FILE列表中的文件名,将会提示输入另外的名称。

  例如,比如说导出整个数据库需要6GB的空间,操作系统的限制大小为2GB。你想将数据放在/exp文件系统的prod目录下。参数文件中的内容如下所示:

  FILE=/exp/prod/exp01.dmp,/exp/prod/exp02.dmp,/exp/prod/exp03.dmp
  FILESIZE=2G

  在Oracle 10g,新的数据转储导出工具(expdp)的工作放式和以前版本类似,不过有些改变。路径名不再像早期版本那样很难编辑,现在,使用目录对象指向操作系统的目录。

  FILE参数被DUMPFILE代替,为了方便,可以指定通配符来自动生成文件名不用在将它们全部列出。在Oracle 10g中,如果你已经创建了一个名称为EXPDIR的目录对象指向/exp/prod,上面的参数如下所示:

  DUMPFILE=expdir:exp%U.dmp
  FILESIZE=2G

  exp01.dmp, exp02.dmp和 exp03.dmp这些文件名将会在导出期间自动产生。