oracle bcpin,oracle数据库数据备份成文本的脚本

sybase和sql server有bcp in/bcp out,是个很好的工具,可以把数据以文本格式导入导出。而oracle只有一个文本导入工具,是sqlldr。其他的就是二进制的了,比如imp/exp,以至于10g里面的expdp.

今天突然需要导出文本。本来想写一个,觉得麻烦,打电话给套子,套子帮我找到的,这个是老鬼在2002年在北京的时候写的。在此一并谢了套子和老鬼,^_^。

[@more@]

#/usr/bin/sh

if [ $# -lt 2 -o $# -gt 3 ]

then

echo "error ,usage $0 tablename outfilename condition"

exit 1

fi

TABL=$1

OutFile=$2

Conditon=$3

STR="noting"

FILEDS=`echo "desc $TABL" | sqlplus -s zhjs/zhjs|tail +3|grep "[A-Z,a-z]"|awk '{print $1}' `

for i in $FILEDS

do

if [ "$STR" = "noting" ]

then

STR="$i "

else

STR="$STR || ';' || $i"

fi

done

if [ $# -eq 3 ]

then

STR="select $STR from $TABL $Conditon;"

else

STR="select $STR from $TABL;"

fi

#echo $STR

echo "set feedback offnset pagesize 0nset linesize 2000n$STRnexit"| sqlplus -s settle/settle > $OutFile

可以根据实际需要修改一下即可。很简单明了,使用起来也很方便。

特地记在这里,免得忘记了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值