impdp的一些实际问题解决方法
之前在http://blog.csdn.net/bisal/article/details/19067515写过一篇关于expdp和impdp的实践的帖子。今天碰到个问题,有些内容没有介绍全,这里再补充下。
知识点2:导入时不用必须和导出的username一致。
知识点3:假设导入过程中报的是“Unable to open the log file.”、找不到test_dump等之类的错误,检查方法:
1、首先检查test_dump是否设置正确。能够检索dba_directories表。
2、其次要看test_dump文件夹是否有读写权限;
3、然后也能够看导入用户是否有权限訪问到dba_directories,
今天的问题就是导入使用的用户是普通用户,无法訪问dba_directories,首先报的是“Unable to open the log file.”、找不到test_dump等之类的错误,開始以为test_dump建立有问题,但dba_directories有值,且路径是有读写权限。但导入的账户没有dba_directories的权限,想必导入时自然无法读到test_dump,此时能够使用下面两条语句将所需权限赋给这个普通用户:
grant read,write on directory test_dump to user;
grant imp_full_database to user;
知识点4:导入过程中可能会出现一些GRANT INSERT ...权限赋予账户错误的问题,非常可能是导入的库中没有相应的角色ROLE,假设应用不用这些,则能够忽略。
知识点5:假设导入的库中包括待导入的数据表结构,则impdp会失败。推測expdp的dump中包括DDL语句,因此不同意导入库中包括表结构,须要提前清空导入用户空间的相关表结构。