In case of long running queries, if data is changed while the query is running, undo segments created for that change are needed to make a read consistent image for the long running query. When these undo segments are reused while these were still need by the query, this error occurs, because oracle cannot provide the read consistent image of the data.
To avoid this error you have to postpone the reuse of the undo segments by
i) Increase UNDO_RETENTION value.
ii) Increase the size of Undo Tablespace.
Note: Committing less often would be other solution. As until transaction is committed undo segment can not be reused thus reducing the chances of a snapshot too old error.
Thanks
No comments:
Post a Comment