今天使用index rebuild online方法重建一个索引,但是重建到一半出错了。当我再次重建的时候,发现报错,不能重建,等了一阵之后才能重建,对于这个问题,当时没在意,后来想了一想,觉得不太对劲,于是上网搜索了一下,才发现已经有人早就想到这种问题了,最后原来是SMON干活了,摘录如下:
对于永久表空间上的temporary segment,SMON会三分钟清理一次(前提是接到post),如果SMON过于繁忙那么可能temporary segment长期不被清理。temporary segment长期不被清理可能造成一个典型的问题是:在rebuild index online失败后,后续执行的rebuild index命令要求之前产生的temporary segment已被cleanup,如果cleanup没有完成那么就需要一直等下去。
如果SMON 不能及时清理,在操作时就会报ORA-08104的错误。
在Oracle10gR2中可以使用dbms_repair.online_index_clean手工清理这些信息,在Oracle 9i下,需要打Bug 3805539 后才可以使用该工具。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/41451/viewspace-1053878/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/41451/viewspace-1053878/