| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.server -> Re: Is it possible to get a ORA-01555: snapshot too old even if no tables were updated during select
we think it may be a very rare case of case of something called delayed block cleanup
http://www.ixora.com.au/q+a/cr.htm#end:
'The delayed logging block cleanout feature delayed the logging of the redo for the cleanout until it could be logged in combination with the redo for another change to the block. It is this delayed-logging form of delayed block cleanout that no longer occurs. The redo for a delayed block cleanout is logged immediately, and the block is marked as dirty so that it will be written back to disk. '
In article <87wvde41lg.fsf_at_HSE-MTL-ppp64270.qc.sympatico.ca>, Greg Stark
<greg-spare-1_at_mit.edu> wrote:
>
>haild_0234_at_hotmail.com (Haild) writes:
>
>> we have a longrunning sql stemeten that select all rows from a large join
that
>> meet a conditon, it runs for several hours due to amount of data being
>> processed.
>>
>> we are getting ORA-01555: snapshot too old eventhougth none of the source
>> tables were changed in any way no updates or inserts or deletes. in fact the
>> last timestamp on any of the talbes was over 13 hours earlier
>>
>> our logs show that the select was the only statement running at the time.
>
>was any DDL done?
>
>Conceivably the updates had done a "fast commit" and weren't written to until
>your select? In that case try doing a select count(*) from each table before
>doing your massive join? I'm grasping at straws here.
>
>As far as I know this could only happen if there was a update insert or delete
>against one of the tables. You could try setting the tablespace read-only
>which maybe would prevent oracle from even trying to check if there were any
>updates? I dunno, it sounds awfully weird.
Received on Wed Dec 06 2000 - 16:21:16 CST
![]() |
![]() |