RE: intermittent ora 8103 errors object no longer exists

From: Tanel Poder <tanel.poder.003_at_mail.ee>
Date: Fri, 29 Aug 2008 22:48:16 +0800
Message-id: <E5A6CFCE83FF4E2FAE4FBDDCE420E68D@windows01>


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

--

http://www.freelists.org/webpage/oracle-l Received on Fri Aug 29 2008 - 09:48:16 CDT

Original text of this message