由于两张分区表数据量差别很大,数据较小的用上一篇博文的方法直接将全局索引成功修改成了本地索引。
另一张表每天有200万行数据,而表里面有接近大半年的数据,在用同样的方法修改全局索引为本地索引时,执行10多个小时报了ora-01555错误。
可能是重建索引量太大时间太久造成了这个ORACLE的经典错误。
最终将数据用EXP导出,再drop掉该分区表,重建新表,再导入数据解决了问题,整个过程才2个小时左右,比修改索引快多了。
但是在使用PL/SQL导入时遇到了不能修改缓冲区大小的问题,固定在80K,还不让修改。
最后用如下命令成功导入:
imp user/password@dbname file=e:\xxx.dmp ignore=y statistics=none buffer=100000000
ignore=y ---忽略创建错误,因为已经自己重建了表,分区表建立的时候一定使用 using index local ,避免操作分区索引又会失效。
statistics=none ---不导入数据库统计信息,提高导入性能。
又学习了。