日期:2014-05-16  浏览次数:20619 次

求一条oracle导入语句
我现在有一个.bmp备份文件,我想要导入test和demo这两个表空间中的表,但是不包括test.test_temp这张表,用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')"