時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
Oracle 提供了exp程序,能方便的導(dǎo)出數(shù)據(jù), 但該工具沒有壓縮功能.
對於磁盤空間緊張的主機,比較好的方法是使用用命名管道,將數(shù)據(jù)導(dǎo)到pipe, mknod /dev/pipe p,
通過gzip,或bzip2壓縮數(shù)據(jù) .
寫了段小程序自動處理,并提供自動ftp到遠端主機的功能
#!/bin/bash
# Write : Gan Jian Hui
# Description export ORACLE DUMP DATA and auto compress
# can auto upload to ftp server
# example:
# bexp userid=user/pass log=/tmp/aa.log rows=no owner=OLAPSYS file=ftp://ftpuser:ftppass@ftpserver/aaa.dmp.bz2 statistics=none
#
# Date : 2010/08/11
#
PID=$$;
PIPE="/tmp/tmp$USER.pipe.$PID"
PARFILE="/tmp/tmp$USER.parm.$PID"
[ -z $ORACLE_HOME ] && exit
[ -z "$*" ] && $ORACLE_HOME/bin/exp help=y
if echo "$*" |grep -qi 'help=y' ;then
$ORACLE_HOME/bin/exp help=y
exit
fi
# [[ "$Parm" =~ '[Ff][Ii][Ll][Ee]=*' ]] && echo file
while [ -n "$1" ] ; do
Parm=$1 ;
shift ;
case $Parm in
[fF][iI][lL][eE]\=*)
echo "file=$PIPE" >>$PARFILE
DMPFILE=${Parm:5}
;;
*)
echo "$Parm" >>$PARFILE
;;
esac;
done
[ -f "$PARFILE" ] || exit
[ -p $PIPE ] || mknod $PIPE p
trap "rm -f -- '$PIPE' '$PARFILE'" EXIT
case $DMPFILE in
ftp://*) [ -e /usr/bin/curl ] || exit
esac
$ORACLE_HOME/bin/exp parfile=$PARFILE &
case $DMPFILE in
ftp://*.gz) gzip < $PIPE |curl -T - $DMPFILE ;;
ftp://*.bz2) bzip2 < $PIPE |curl -T - $DMPFILE ;;
*.gz) gzip < $PIPE > $DMPFILE ;;
*.bz2) bzip2 < $PIPE > $DMPFILE ;;
*) echo "'$1' cannot be compressd by bexp()" ;;
esac
關(guān)鍵詞標簽:Oracle
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法