RE: intermittent ora 8103 errors object no longer exists

  • From: Tanel Poder <tanel.poder.003@xxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Fri, 29 Aug 2008 22:48:16 +0800

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).
 

Other related posts: