关于ORACLE IMP到其他用户的表空间的记录
ORACLE在IMP时更改用户和表空间的记录.
到这里应该会正常导入数据到新的DBSDWW表空间,不过我在导入的过程中抱过几个错导致有些表没有正常创建(忘记什么错了,当时只记录了没有创建的表的表名)比如TAB_DOC这个表,之后我的做法是在PLSQL里先连接到SDWW用户,选择工具——》导出表,选择没有成功创建的表TAB_DOC导出成单独的DMP文件(或者直接用命令),然后连接到要导入的DBSDWW导入TAB_DOC的DMP文件。
此时已经把所有数据算是导入到DBSDWW用户里了,但是如果用客户端的EnterpriseManagerConsole登陆后选择查看方案-》DBSDWW-》表,可以清楚看见最后导入的这个TAB_DOC表还是在SDWW的表空间里。
用了句命令:
ALTER INDEX DBSDWW.TAB_DOC REBUILD TABLESPACE DBSDWW;
把TAB_DOC从SDWW移动到DBSDWW表空间,但是问题又来了,用EnterpriseManagerConsole查看方案-》DBSDWW-》索引,TAB_DOC的索引SYS_TAB_DOC的状态为unusable。
最后:
ALTER INDEX DBSDWW.SYS_TAB_DOC REBUILD TABLESPACE DBSDWW;
把索引SYS_TAB_DOC从SDWW移动到DBSDWW表空间才算全部解决问题。
One Response to “ 关于ORACLE IMP到其他用户的表空间的记录 ”
-
顶
| 回复并邮件