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