我想将 oracle 转储导入不同的表空间。
我有一个用户 A 使用的表空间 A。我已经撤销了该用户的 DBA 并给了他授权连接和资源。然后我用命令转储了所有东西
exp a/*** 所有者=a 文件=oracledump.DMP 日志=log.log 压缩=y
现在我想将转储导入用户 B 使用的表空间 B。所以我给了他连接和资源的授权(没有 DBA)。然后我执行了以下导入:
imp b/*** 文件=oracledump.DMP 日志=import.log fromuser=a touser=b
结果是一个有很多错误的日志:
IMP-00017:以下语句失败并出现 ORACLE 错误 20001:“BEGIN DBMS_STATS.SET_TABLE_STATS IMP-00003:遇到 ORACLE 错误 20001 ORA-20001:输入值无效或不一致
之后,我尝试了相同的导入命令,但使用了选项 statistics=none。这导致了以下错误:
ORA-00959: 表空间 'A_TBLSPACE' 不存在
这应该怎么做?
注意:很多列都是 CLOB 类型的。看起来问题与此有关。
注意 2:oracle 版本是 9.2、10.1 和 10.1 XE 的混合版本。但我认为这与版本无关。