impdp的一些实际问题解决方法

之前在http://blog.csdn.net/bisal/article/details/19067515写过一篇关于expdp和impdp的实践的帖子。今天碰到个问题,有些内容没有介绍全,这里再补充下。

知识点1:须要登录到数据库,操作create (or replace) directory test_dump as '/opt/test'。这里不能用test_dump='/opt/test',且/opt/test就够了,不用必须是/opt/test

知识点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语句,因此不同意导入库中包括表结构,须要提前清空导入用户空间的相关表结构。

posted @ 2015-12-23 14:08  hrhguanli  阅读(390)  评论(0编辑  收藏  举报