An ALTER INDEX ..... REBUILD attempts to re-read the existing index *unless it is UNUSABLE*. So, for indexes that are not enforcing PK constraints, do an ALTER INDEX ..... UNUSABLE before the REBUILD. For indexes that are for PK constraints, disable the constraints before setting them UNUSABLE. Needless to say, I suggest NOLOGGING for the REBUILD. If you also use PARALLEL then set them to NOPARALLEL after the REBUILD. Enable the constraints after the REBUILD. Hemant K Chitale http://hemantoracledba.blogspot.com sent from my smartphone On Dec 7, 2010 12:05 AM, <lyallbarbour@xxxxxxxxxxxxxxx> wrote: Hi, I rebuilt some indexes on our production database yesterday with NOLOGGING. They took a cold back up. But this morning when we refreshed our test instance, they refreshed with the hot backup, so after applying the archive logs, we are getting corrupt block errors. I'm trying to rebuild the indexes, drop then create from the ddl, but i'm having a hard time with the script, since we are on 10.2.0.4 How can i generate the ddl for alter table disable constraint -- then drop index for all these primary keys? I'm sure this is on google somewhere, but i haven't found it yet. Thanks, Lyall