Just to be clear - truncate does other stuff as well in segment header such resetting segment HWMs and releasing extents if required, but in context of ORA-08103's it's the data object ID what matters. -- Regards, Tanel Poder http://blog.tanelpoder.com <http://blog.tanelpoder.com/> http://n.otepad.com <http://n.otepad.com/> - n.ote this! Truncate only increments the data object id in segment header, so if your query is lucky enough to not touch the segment header (like index range/full scans for example) it won't even realize that the table has been truncated.... until you start inserting data again, which causes old blocks to be reformatted and the error to be raised. Drop doesn't even touch the header block either! (and this is why you can drop tables from read only tablespaces - no changes to segment's datablocks are done during a drop).