
时间:2015-06-28 00:00 来源:IT猫扑网|http://www.itmop.com/ 作者:网管联盟 我要评论(0)
Oracle 提供了exp程序,能方便的导出数据, 但该工具没有压缩功能.
对於磁盘空间紧张的主机,比较好的方法是使用用命名管道,将数据导到pipe, mknod /dev/pipe p,
通过gzip,或bzip2压缩数据 .
写了段小程序自动处理,并提供自动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
关键词标签:Oracle
相关阅读 误删Oracle数据库实例的控制文件 为UNIX服务器设置Oracle全文检索 Oracle数据库如何查找删除重复的SQL语句 Oracle导入导出数据库的语法 oracle数据库安装预环境一键处理脚本 oracle常用DBA命令
热门文章
利用Oracle分区表来减少磁盘I/O冲突
Oracle数据库优化之数据库磁盘I/O
讲解Oracle复制技术的分布式系统同步应用
刷新Oracle缓存
oracle 8080与TOMCAT默认端口冲突
DATAGUARD的日志应用服务
人气排行 oracle中使用SQL语句修改字段类型-oracle修改SQL语句案例 Oracle中使用alter table来增加,删除,修改列的语法 ORACLE SQL 判断字符串是否为数字的语句 ORACLE和SQL语法区别归纳(1) oracle grant 授权语句 ORACLE修改IP地址后如何能够使用 如何加速Oracle大批量数据处理 Oracle删除表的几种方法 Oracle 10g创建表空间和用户并指定权限 Oracle连接数太多报错-ORA-12516错误 Oracle字符串截取 连接Oracle数据库的Hibernate配置文件
查看所有0条评论>>