oracle排除表导入导出

imp 导入数据时可否排除其中一张表不导入
在IMP进行数据导入时,能不能把不想导的一张或几张表不进行导入

Oracle9i及以前的imp,exp工具只能选择表导入导出,不能排除表,在Oracle10g中的expdp和impdp增加了exclude参数,允许排除某些不导入的表,对象类型等

在exp的版本中有两种方法排除表的导入和导出

方法一:
加tables=(table1,table2,...,tablen)参数可导入指定表
应该只能指定表,不能排除表

方法二:
在要导入的用户下把你不需要的表建起来,只要是同名
导入时,加上ignore=n参数,这个表报错,就不会导入此表了

在expdp版本中

可以使用子句INCLUDE=TABLE:"LIKE 'TAB%'"来仅导出那些名称以 TAB 开头的表。类似地,您可以使用结构INCLUDE=TABLE:"NOT LIKE 'TAB%'"来排除所有名称以 TAB 开头的表。作为另一种选择,您可以使用EXCLUDE参数来排除特定的对象。

虽然expdp -help指明了exclude的语法:exclude=table:emp

但实际上会出错。

正确的语法是exclude=table:"in ('EMP')"

例子:


C:>expdp oracle/oracle directory=testexpdp dumpfile=zzw_temp3.dmp exclude=TABLE
:"IN('TEST2')"
这是可以的

C:>expdp oracle/oracle directory=testexpdp dumpfile=zzw_temp3.dmp exclude=TABLE
:"IN ('TEST2','ZZW_TEMP2')"
但这是不行的,当排除多个表的时候不行,报ORA-39071: EXCLUDE 值的格式错误

需要增加转义字符,应该这样
C:>expdp oracle/oracle directory=testexpdp dumpfile=zzw_temp3.dmp exclude=TAB
LE:"IN ('TEST2','ZZW_TEMP2')"

归纳总结:
1.表名要大写
2.排除多表的时候要注意使用转义字符
3.排除表的时候,使用了exclude参数,就不要再使用schemas参数,如果有了schemas参数将对应的用户方案的全部对象导出

[@more@]

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

转载于:http://blog.itpub.net/22036495/viewspace-1024574/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值