oracle导出批量表N行记录

导出一个表(如果有分区则每个分区)100行记录
exp test/123@132.26.60.80:1521/orcl1 file=F:\dmp\tab1.dmp log=F:\dmp\tab1.log tables=(tab1) query=\"where  rownum<101\" 

接着是批量导出,

exp test/123@132.26.60.80:1521/orcl1 file=F:\dmp\tab1.dmp log=F:\dmp\tab1.log tables=(tab1,tab2) query=\"where  rownum<101\" 

这里用for循环读取参数文件来批量导出

批量导出.bat(注:批处理时变量%t要写成%%t,加一个%号,批处理中for外面定义的参数是%a%引用,for内定义的参数改成!a!引用

set dbService=132.16.60.41:1521/test
set expUser=test
set expPass=123
for /f "skip=1 tokens=1" %%t in (D:\dmp\tab.txt) do EXP %expUser%/%expPass%@%dbService% FILE=F:\dmp\%%t.dmp tables=(%%t) rows=y query=\"where rownum<10001\"
pause

文件 tab.txt

表名
tab1
tab2

附上:DOS 批处理命令For循环命令详解

posted @ 2017-11-13 12:34  巴啦啦大魔王  阅读(193)  评论(0编辑  收藏  举报