Oracle导入dmp文件没有数据

对方的用expdb的方式导出的dmp文件给我,然后我用impdb方式导入到我们自己的oracle。导入后他提示完成,但是我查看了一下实际并没有导进来
一下是log日志,这个是什么原因导致的呢。怎么才能正确导入数据
Import started on 2014/1/17 9:22:00E:\app\Administrator\product\11.2.0\dbhome_2\BIN\impdp.exe log=C:\Users\ADMINI~1\AppData\Local\Temp\1\plsimp.log file=C:\Users\ADMINI~1\Desktop\HIS_ZY_BRRY.dmp userid=dmp/dmp@PTDMP touser=dmp buffer=30720 commit=no full=yes grants=yes ignore=yes indexes=yes rows=yes show=no constraints=yesImport finished on 2014/1/17 9:22:02

这个不是日志,是你执行impdp的命令返回的信息吧
你这个是要按用户导入吧?参数不要指定那么多,给你看个例子:
[oracle@WLTESTDB001 ~]$ expdp dbusrhayley/dbusrhayley schemas=dbusrhayley dumpfile=expdp.dmp directory=leo_dump
[oracle@WLTESTDB001 ~]$ impdp dbusrhayley/dbusrhayley schemas=dbusrhayley dumpfile=expdp.dmp directory=leo_dump
适用于从A用户导出,又还原到A用户的情况。
感觉你没有指定数据泵的目录哦,另外文件不要放桌面上搞,路径太复杂,先建一个目录,然后指定到目录,要导入的文件放入目录下面
SQL> create directory leo_dump as '/home/oracle/leo_dump';
Directory created.
SQL> grant read,write on directory leo_dump to dbusrleo,dbusrhayley;
Grant succeeded.

日志文件是根据你的log参数指定的,如果还是导不成功应该看那个文件,比如:C:\Users\ADMINI~1\AppData\Local\Temp\1\plsimp.log

另外:EXPDP和IMPDP是服务端的工具程序,应该在服务端的环境运行

可以参考:
http://blog.csdn.net/indexman/article/details/7849401追问

'/home/oracle/leo_dump'这个目录是什么目录,存放dmp文件的目录吗?

追答

是的,我这个是linux的环境,你的windows的就比如是:D:\imp这么一个目录

追问

impdp dbusrhayley/dbusrhayley schemas=dbusrhayley dumpfile=expdp.dmp directory=leo_dump
这句话几个参数是什么。是需要在system用户下执行还是我自己的用户

追答

schemas=dbusrhayley 是用户
dbusrhayley/dbusrhayley 是这个用户的用户名,密码
dumpfile=expdp.dmp 是要导入的文件
directory=leo_dump 是文件所在目录

最好用在服务端执行,这个是不需要登录数据库的,只要对你输入的用户名、密码对你要导入的用户有权限就可以了

追问

我数据库用户是dmp,密码也是dmp,
我分别执行
create directory dmp_dir as 'E:dmp';grant read,write on directory dmp_dir to dmp;
impdp dmp/dmp schemas=dmp dumpfile=HIS_GY_JBBM.dmp directory=dmp_dir;
还是失败的

追答

语句能执行成功么?
如果语句执行成功,把日志文件贴出来看看,默认应该产生了一个import.log的文件吧?

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-01-17
记得采纳我的意见!
首先是你的语句是错误的,你的语句格式是exp和imp,不是数据泵expdp/impdp语句格式。追问

什么语句格式是错误的。我的前提就是对方用的expdb方式导出,我当然用impdb方式导入。有问题?