ITPub博客

首页 > 数据库 > Oracle > oracle数据库数据备份成文本的脚本

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

原创 Oracle 作者:wangzh3 时间:2005-08-25 12:56:22 0 删除 编辑

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

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

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

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/47869/viewspace-805116/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 超女之我见
请登录后发表评论 登录
全部评论
  • 博文量
    301
  • 访问量
    10828340