Oracle导入dmp文件时,跳过一些表不导,因为这些表的数据量过大,下面的语句不能导

impdp userid=user/password@oracl full=y ignore=y exclude=table:"in ('table_a','table_b')" file='d:\bak.dmp'
应该怎么写的,过滤的表数据量实在太大,请大家帮帮忙

如果只是排除表几个表的话,假设是排除A,B两个表,基本写法是
impdp system/oracle@testdb dumpfile=test.dmp logfile=imp_test.log exclude=table:\"in ('A','B')\"

就可以了,你要确定你使用的dumpdir目录下有备份文件。

还有注意table:\"in ('A','B')\"格式中双引号是要加转义字符\的,表名也需要大写的。

1、在开始中运行 oracle目录下的 Database Configuration Assistant选择 创建新数据库“创建模式”中推荐选择“高级配置”,默认配置会留下很多大坑,不推荐。


选择模板可以选择“定制数据库”或“一般用途或事务处理”,由于定制数据库是不基于模板的,所以创建过程非常缓慢,可能需要好几个小时的时间,而“一般用途或事务处理”是基于Oracle提供的模板创建,创建速度很快,5分钟不到即可完成,而且可配置的选项已经足够了,所以选择“一般用途或事务处理”;数据量特别大的选择数据仓库


“容器数据库”是12c版本新加的一个功能,但是这个功能可能很少有人用,最麻烦的是一旦勾选了这个选项,那么你新建的数据库用户必须以C##开头,特别不方便,所以此处建议不勾选容器数据库,除非你真的有这方面需求。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-11-25
你遇到的是什么错误,如果只是排除表几个表的话,假设是排除A,B两个表,基本写法是
impdp system/oracle@testdb dumpfile=test.dmp logfile=imp_test.log exclude=table:\"in ('A','B')\"
就可以了,你要确定你使用的dumpdir目录下有备份文件。
还有注意table:\"in ('A','B')\"格式中双引号是要加转义字符\的,表名也需要大写的
你还是最好把你的错误贴出来追问

连接到: Oracle Database 11g Enterprise Edition Release .....options
ORA-39001: 参数值无效
ORA-39000: 转储文件说明错误
ORA-39143: 转储文件 "D:\app\Administrator\admin\mxloan\dpdump\expdat.dmp" 可能是原始的导出转储文件
这是报的错

追答

你的这个dmp文件是通过exp来生成的吧。
impdp是数据泵方式,这个两个方式不能兼容的。
你要导入的话就只能用imp了。imp是没有exclude选项的

本回答被网友采纳
相似回答