This IS very likely due truncates, alter table moves, partition exchanges, drops (and subsequent space reuse) while some queries are running. Again, you don't need to guess, either create a DDL trigger (after ALTER,DROP,TRUNCATE which logs all DDLs) or just keep monitoring last_ddl_time and data_object_id's of all the segments and see whether the segments the query accesses change. The "invalid rowid" error message doesn't necessarily indicate that there's some corruption or such, but rather that a-pre truncate/drop index is used for fetching rowids in a (long)running query and when accessing the table segment using that rowid we discover that oops that block has been reused by some other data object id (even if it's a new incarnation of the same segment after truncate) - thus the table block access fails and oracle returns a generic error message "invalid rowid". I have seen I think only one case of "invalid rowid" which was due an actual corruption, all others have been about someone doing truncates/DDL while others query the data. -- Regards, Tanel Poder http://blog.tanelpoder.com > -----Original Message----- > From: oracle-l-bounce@xxxxxxxxxxxxx > [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Schauss, > R. Peter (IT Solutions) > Sent: 08 May 2009 21:43 > To: oracle-l@xxxxxxxxxxxxx > Subject: Diagnosing an ORA-01410 error with a 10046 trace > > (Oracle 8.1.7.4) > > As some of you will remember I have been chasing an > intermitent ORA-01410 error which shows up in our data > warehouse reports. Oracle tech support suggested that a > 10046 trace would show me which table or index was causing > the problem. I was hoping that I could take this information > and correlate it with the log files for the ETLs which run at > the same time as the reports. This would, I had hoped, allow > me to prove to my management that the errors were caused by > running reports while the ETL was truncating tables and > dropping and recreating indexes. > > -- //www.freelists.org/webpage/oracle-l