ORACLE 11g导入9i dump的问题及解决

因为系统迁移,需要将一部分的9i的数据导入11g的库里,
目标库是11.2.0.3.0 64位的环境。

导入dump的时候,有一个比较大的分区表,需要用导入分区的方式,就写了如下的命令。但是奇怪的是过了一会,抛出来一个imp的错误就完事了。

-bash-4.1$ imp n1/n1@testdb tables=TEST_DB:TEST_DB_PAR_P1        file=TEST_DBP1.dmp     ignore=Y statistics=none grants=n indexes=n buffer=9102000 log=imp_log_TEST_DB_PAR_P1_test
Import: Release 11.2.0.3.0 - Production on Wed Mar 19 17:05:33 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
Export file created by EXPORT:V09.02.00 via direct path
Warning: the objects were exported by SYSTEM, not by you
import done in UTF8 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses ZHT16MSWIN950 character set (possible charset conversion)
. importing SYSTEM's objects into N1
IMP-00055: Warning: partition or subpartition "TEST_DB":"TEST_DB_PAR_P1" not found in export file
Import terminated successfully with warnings.

我以为我的表名和分区写的有问题,检查了一下,都在的。

为了继续,然后尝试直接按表导入,但是还是导不进去,不过报错信息倒是不太一样了。

-bash-4.1$ imp n1/n1@testdb tables=TEST_DB       file=TEST_DBP1.dmp     ignore=Y statistics=none grants=n indexes=n buffer=9102000 log=imp_log_TEST_DB_PAR_P1_test
Import: Release 11.2.0.3.0 - Production on Wed Mar 19 17:04:11 2014
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
Export file created by EXPORT:V09.02.00 via direct path
Warning: the objects were exported by SYSTEM, not by you
import done in UTF8 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses ZHT16MSWIN950 character set (possible charset conversion)
. importing SYSTEM's objects into N1
IMP-00033: Warning: Table "TEST_DB" not found in export file
Import terminated successfully with warnings.

开始怀疑是不是dump有问题了,确认了下checksum也是一样的。
最后尝试如下的方式,加了 fromuser ,touser选项,竟然可以了。

imp n1/n1@testdb tables=TEST_DB:TEST_DB_PAR_P1      fromuser=TEST_APPO touser=PSCNVDBO1   file=TEST_DBP1.dmp     ignore=Y statistics=none grants=n indexes=n buffer=9102000 log=imp_log_TEST_DB_PAR_P1           &
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
Export file created by EXPORT:V09.02.00 via direct path
Warning: the objects were exported by SYSTEM, not by you
import done in UTF8 character set and AL16UTF16 NCHAR character set
import server uses AL32UTF8 character set (possible charset conversion)
export client uses ZHT16MSWIN950 character set (possible charset conversion)
. importing TEST_APPO's objects into N1
. . importing partition "TEST_DB":"TEST_DB_PAR_P1"   29673834 rows imported
Import terminated successfully without warnings.

查看metalink,也没有发现类似的帖子。也算自己为ORACLE出了一点力吧。
上一篇:【云栖号案例 | 游戏&娱乐】优酷CDN带宽资源上云案例


下一篇:从三流小公司到一线大厂,聊聊程序员的成长之道