oracle中的exp导出工具相信很多人都用过,但是很多人都只是通过最普通的方式用,很多选项都没有用过,也有很多选项不知道怎么用,前两天因为工作需要,要分批导出一张表中的数据,于是想到query选项,可是,没想到的是,却一直没用成功,以前也用过,也是没成功,于是该用plsql工具来分批导出,但是这次不同,数据量太大,如果还用plsql工具的话,效率会太低,而且,不一定是在windows环境中导出数据呢。
经过一番查找,终于找到exp命令方式用query参数的方法,记录如下:query参数在windows和unix中使用的方式都不一样,因为操作系统不同,对“空格”,“>”,“<”,"(",")"等符号都有不同的限制。
windows中使用query参数是这样的
exp
user/passwd@string file=d:test.dmp tables=t_tablename query="""where date_time<20050101""" 采用了三个" 。
UNIX中使用query参数是这样的 exp
user/passwd@string file=d:test.dmp tables=t_tablename query='where date_time<20050101' 对字符采用转义。
其实exp中导出时可以采用parfile参数来导出,例如,将 query='where date_time<20050101'存储在test.par中,使用 exp
user/passwd@string file=d:test.dmp tables=t_tablename parfile=test.par 无论在unix或者windows中都可用了。
[@more@]
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9879835/viewspace-1034979/
,如需转载,请注明出处,否则将追究法律责任。