很多DBA还没有意识到Export可以使用多个数据文件来存储被导出的数据。如果单个磁盘卷没有足够的空间,或者数据库超出了操作系统中单个文件的大小限制,它很容易将导出数据分割成多个文件。
早在Oracle 8i开始,FILE参数就可以容纳用逗号分开的多个文件路径。FILESIZE参数让你指定在转移到下一个文件之前,多少数据可以写到单个文件中。如果Export用光了FILE列表中的名字,它会提示额外的文件名。
比如,让我们假设全部的数据库导出需要6G的空间,并且操作系统中单个文件大小的限制是2G。你要将导出文件放在/exp文件系统下的prod目录中。这个参数文件应该包含下面的内容:
FILE=/exp/prod/exp01.dmp,/exp/prod/exp02.dmp,/exp/prod/exp03.dmp FILESIZE=2G |
在Oracle 10g中,新的Data Pump export(expdp)使用方式类似但是略有改变。输出文件路径不再像早期版本中那样写死,相反,使用Directory对象指到操作系统中的目录。FILE参数被DUMPFILE参数取代,并且为了方便使用,你可以指定通配符来自动产生文件名而不是全部列出来。
在Oracle 10g中,如果你要创建一个叫做EXPDIR的Directory指向/exp/prod目录,上面的例子中的参数会变成这样:
DUMPFILE=expdir:exp%U.dmp FILESIZE=2G |
在Export过程中文件名exp01.dmp、exp02.dmp和exp03.dmp会自动产生。