文档解释
ORA-28606: block too fragmented to build bitmap index (string,string)
Cause: The block(s) exceed the maximum number of rows expected when creating a bitmap index. This is probably due to maximum slot allowed set too low. The values in the message are: (slot number found, maximum slot allowed)
Action: alter system flush shared_pool; update tab$ set spare1 = 8192 where obj# = (select obj# from obj$ where NAME=
AND owner# =
; commit;
ORA-28606:block too fragmented to build bitmap index (string,string) 是Oracle数据库的一个错误消息,指出当尝试在表上创建位图索引时,失败了。这意味着因为块碎片化的原因,数据库无法为索引提供足够的存储来支持全位图索引。
官方解释
ORA-28606错误表明阻止使用全位图索引太多碎片。这可能是由于在尝试创建全位图索引之前对表进行未联合的变动导致的。
常见案例
常见的原因是在尝试构建全位图索引之前,在表上进行了大量的更新操作或删除,使表出现大量碎片。
一般处理方法及步骤
为了解决这个错误,用户需要重建表,以确保消除所有块碎片,然后再尝试构建全位图索引。此外,您还可以试着对位图列做一次基于索引列的简单分区重建,以便尝试解决这个错误。
1.使用ANALYZE TABLE 命令检查表碎片化。
2.如果存在碎片,使用ALTER TABLE以COALESCE选项重建表,以合并碎片。
3.尝试使用全位图索引来重建表。