EXP/IMP 命令(操作系统命令:用于Oracle)

exp userid= xxx/XXX@XXX,tables=xxx, query="""where cpid='101'""", file=D:\notify.dmp

imp userid=xxxx/xxx@xxx, fromuser=xxx, touser=xxx, file=D:\notify.dmp

============

引用别人的部分:

eg.关于query参数的添加问题

操作系统不同,用来指定QUERY=参数的方法也不同。WHERE 语句里面往往有很多特殊的字符,如=.>.<和空格等等。而UNIX和Windows操作系统中的外壳命令提示是不欢迎这些字符的,这些字符将被忽略。你应该根据不同的操作系统采用不用的方法。我一般使用带有QUERY选项的参数文件(PARFILE),利用PARFILE,可以不考虑操作系统平台而使用完全相同的方法。 

下面给出一个例子。我用select * from all_objects建立了一个表T,我希望输出所有object_id 小于5000的行。在Windows中,必须这样做: 

C:\exp>exp userid=tkyte/tkyte tables=t 
query="""where object_id < 5000"""  

注意:在windows中,需要在WHERE语句的两端使用三个双引号。在UNIX中,必须这样做: 

$ exp userid=/ tables=t query=\"where object_id \< 5000\" 

如果使用包含query="where object_id < 5000"的PARFILE文件,我可以在两个系统中使用相同的一个命令: 
exp userid=/ tables=t parfile=exp.par (事先新建一个parfile文件)

在两种操作系统中,完全相同。这相对于在不同的平台中使用不同的QUERY字符串容易多了

===========

eg:参数文件的使用

  在对oracle数据库使用exp命令导出数据时,如果tables=后面跟的表比较多,就是导致命令行放不下,从而不能导出。百度一把发现使用prafile命令可以解决该问题
首先要创建一个文件e:\exp.par(文件名随便),内容为
tables=(tab1,tab2)
file=e:\qqhe.dmp
log=e:\qqhe_exp.log
 
然后在命令行中输入:
exp  user/passwd@db parfile=e:\exp.par

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值