export.sh
# !/bin/bash -
# 圧縮と同時にexpを行う
temp_dir=$(mktemp -d /tmp/expdat.XXXXXXXXX)
cleanup="rm -rf $temp_dir"
trap "$cleanup" ABRT EXIT HUP INT QUIT
mkfifo ${temp_dir}/expdat.pipe
gzip < ${temp_dir}/expdat.pipe > expdat.dmp.gz &
exp scott/tiger FILE=${temp_dir}/expdat.pipe LOG=expdat.log TABLES=(EMP,DEPT)
import.sh
# !/bin/bash -
# 解凍と同時にimpを行う
temp_dir=$(mktemp -d /tmp/impdat.XXXXXXXXX)
cleanup="rm -rf $temp_dir"
trap "$cleanup" ABRT EXIT HUP INT QUIT
mkfifo ${temp_dir}/impdat.pipe
gzip -d < expdat.dmp.gz > ${temp_dir}/impdat.pipe &
imp scott/tiger FILE=${temp_dir}/impdat.pipe LOG=impdat.log IGNORE=Y TABLES=(EMP,DEPT)