在imp的时候用利用Unix提供的mknod命令创建FIFO,并启动compress在后台压缩,并同时运行imp

解决方案 »

  1.   

    1、生成管道:
    $ mknod channel p
    2、exp结果输出到该管道
    $ exp userid/pwd tables=tablename file=channel
    3、压缩
    $ compress < channel > export.dmp.Z &
    4、导入
    $ imp userid/pwd tables=tablename file=channel &
    当然,也可以用Tee把3和4连起来。
      

  2.   

    用以的话应该有这样一个好处,只是道听途说,本人没有过试验。
    在unix上,为了尽量避免2G以上的导出文件和文件导入。
    使用管道的方式,把多个应用连接起来。
    FIFO模式下,实际上是块儿缓冲模式。
    用这种方式到处数据和倒入数据旨在缓冲区中周转,而不需要一般意义上的先导出成很大很大的文件,
    再去读入这个很大很大的文件,从而节省了系统的开销。
    使用有名管道的另一个好处是,你可以使用tee命令来对管道进行复制。
    比如说你从exp读出数据,向一边输入给imp一边把他被压缩被分到其它位置,就可以使用tee命令。
    tee的例子:(把用户列表显示到屏幕上的同时写入到hunt文件中)
    who | tee -a hunt