视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
对imp中的fromuser参数的偏差理解
2020-11-09 14:46:58 责编:小采
文档


这两天执行导入dump文件时总碰到一个问题。 问题现象 : 1. 执行:imp xyz/xxx file=test.dmp log=imp_test.log fromuser=test1 touser=test2ignore=y commit=y buffer=300000000 feedback=10000 注:这个文件dump200G容量。 2. 执行了许久,但最后结果和log

这两天执行导入dump文件时总碰到一个问题。

问题现象:

1. 执行:imp xyz/xxx file=test.dmp log=imp_test.log fromuser=test1 touser=test2 ignore=y commit=y buffer=300000000 feedback=10000

注:这个文件dump>200G容量。

2. 执行了许久,但最后结果和log中记录:

Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - bit Production
With the Partitioning and Data Mining options

Export file created by EXPORT:V10.02.01 via conventional path

Warning: the objects were exported by TEST1, not by you

import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing TEST1's objects into TEST2
Import terminated successfully without warnings.

3. 但没有任何dump中的数据导入到test2用户中。

原因分析:

首先,其实是对imp命令中的fromuser参数偏差的理解。

[root@vm-vmw4131-t ~]# imp -help

FROMUSER list of owner usernames

imp指令帮助中说明FROMUSER的含义是“属主用户名列表”,相应的,从exp指令帮助中可以看到OWNER参数表示的是相同的含义:

[root@vm-vmw4131-t ~]# exp -help

OWNER list of owner usernames

即该用户指的是对象所属用户。

其次,经过咨询,上述问题中用到的fromuser=test1这个test1用户是执行exp的系统账户,并不是数据库对象所属账户,这就能解释上面问题的原因了:由于dump文件所属的数据对象账户是另外一个账户,不是test1,因此使用imp ... fromuser=test1时,会检索这个文件dump,查找属于test1用户的对象,全文件扫描后,根本没有属于该用户的对象,因此提示“Import terminated successfully without warnings”正常结束。

总结:

1. 这次导入导出时可能根本没实际考虑LANG等字符集环境变量。

2. imp的fromuser指的是对象所属用户,不是执行exp导出的用户。

下载本文
显示全文
专题