在某些操作系统下,一个文件的大小不能超过额定大小,例如32位Unix只能创建最大2G文件。对于某些大型数据库来说,用eXPort导出的数据文件可能超过这些额定大小,这时只好用管道来把导出的数据文件分割成操作系统答应的额定大小以内的几个小文件,例如:
导出数据库:
mknod /tmp/exp_pipe p
cd /backup
split -b1024M
exp system/manager file=/tmp/exp_pipe full=y
导入数据库:
mknode /tmp/exp_pipe p
cd /backup
cat xaa xab /tmp/exp_pipe &
imp system/manager file=/tmp/exp_pipe full=y
其中 xaa xab是通过这种方式导出的实际数据库文件。
以上在IBM RS/6000 H50机器上导出表空间大小15G,导出后文件大小共3G的情况下操作成功!