Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Snapshot Too Old Issue

User_OCZ1TNov 8 2017 — edited Nov 15 2017

Hi we areĀ  using version 11.2.0.4.0 of oracle. We have a query which fails with snapshot too old error after ~30minutes. As per my understanding the chances of this error would be there , if there has been any DML operation happening on the base table during the SELECT query. As we have verified we don't perform any DML operation during the SELECT query execution. INSERT into the base table completes before this SELECT query triggers, so there is dependency set between INSERT and SELECT into this base table. Same thing is noticed from Dba_hist_active_sess_history/gv$active_session_history also. So as per our understanding, in ideal scenario the SELECT query should not visit any UNDO record from the base table during its full execution, as there is no DML happens on it during this period. So my question is, if there any other scenario possible which can cause the SELECT query to visit the UNDO records and failure with Ora-01555? As this failure happens occasionally , is there any way we can do some instrumentation/tracing to capture the DML(which we are unaware of), if any happening during the SELECT query execution causing this failure?

We have below UNDO setup:

We have AUTO undo management and having UNDO retention ~15minutes and having all the data files for the UNDO tablespace set as "AUTO EXTEND ON". Size of current UNDO tablespace being ~60GB. We are in process of making the data files AUTO EXTEND OFF.

Update- Additionally i see from the real time monitoring, the SELECT query actually completes in ~5minutes, it just lies there for ~25minutes on wait event "sql*net message from client" as the rows fetched from this query are very large and the fetch size used by the client is lesser. So is it correct to assume that in this case, the chances of "Snapshot too old error" should be minimum, as from database side the query is completing faster?

This post has been answered by Jonathan Lewis on Nov 14 2017
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 12 2017
Added on Nov 8 2017
36 comments
1,872 views