Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: ORA 28604 - table is too fragmented

RE: ORA 28604 - table is too fragmented

From: Jacques Kilchoer <>
Date: Mon, 21 May 2007 13:54:18 -0700
Message-ID: <>

Yes, I understood that, but if one way to allow the creation of the bitmap index is having less records per block (wasn't that the whole point of resetting the hakan factor?), you can accomplish that goal with pctfree.

-----Message d'origine-----

De : [] Envoyé : lundi, 21. mai 2007 09:24
À : Jacques Kilchoer
Cc :
Objet : RE: ORA 28604 - table is too fragmented


The reason I am executing these commands is to force the bitmap index to complete. I am not sure how that
works internally with oracle. My goal is not specifically to minimize records_per_block, though

thank you

Gene Gurevich

             <Jacques.Kilchoer                                          To 
   >               < 
                                       >, <>         
             05/18/2007 07:52                                           cc 
                                       RE: ORA 28604 - table is too        

This is pure guesswork on my part, but if you want to minimize the number of records per block, could you do it be re-creating the table with a high PCTFREE?
-----Message d'origine-----

De : [] De la part de Envoyé : vendredi, 18. mai 2007 14:43
À :
Objet : RE: ORA 28604 - table is too fragmented

I did a little bit more testing and here is what I have now:

I don't know whether there is a way to fix both of these two issues - bitmap index build and exchange.

thank you

Gene Gurevich

             "Bobak, Mark"
   >                                                To
             Sent by:                  <
             oracle-l-bounce_at_f         >, <>

             05/18/2007 12:33          RE: ORA 28604 - table is too
             PM                        fragmented

             Please respond to


Not tested, and I'm not sure there's a quick, easy test case for this one, but, after moving data out of the problem table, you may try this: 1.) Figure how many rows per block you want. 2.) Insert that number of rows into the table. insert into problem_table select * from temp_table where rownum <= number_of_desired_rows_per_block; 3.) Verify that all those rows are in the same block. 4.) alter table problem_table minimize records_per_block; --This sets the Hakan factor, a limit on the max. number of rows/block the table will ever have.
5.) delete from problem_table; --don't truncate, that will reset the Hakan factor.
6.) insert into problem_table select * from temp_table;


Mark J. Bobak
Senior Oracle Architect

"There are 10 types of people in the world: Those who understand binary, and those who don't."

-----Original Message-----

[] On Behalf Of
Sent: Friday, May 18, 2007 12:03 PM
Subject: ORA 28604 - table is too fragmented

Hi all:

I am running oracle and am getting the following error when building bitmap indices:

 ORA-28604: TABLE TOO FRAGMENTED TO BUILD BITMAP INDEX (25206487,40,40) I have found the note 119674 and applied the first solution that was recommended - rebuild the table through export/import - I have copied the data from the table into another table, dropped and recreate my table and inserted the data back. After that I tried to rebuild the indices and received the same error. I looked at the second solution and it looks like a reduced version of the first one.

I have temporarily rebuilt all bitmap indices as non-bitmap to allow the user testing to go on, but I would still like to have the bitmap indices instead. Does anyone have a better solution for this?

thank you

Gene Gurevich




-- Received on Mon May 21 2007 - 15:54:18 CDT

Original text of this message