Exception chain (top to bottom):Start of Exception Chain -------------------------------java.sql.SQLException: ORA-01555: snapshot too old: rollback segment number 13 with name "_SYSSMU13$" too small 0: oracle.xdb.XMLType.getDOM(XMLType.java:1524)Can you please help me out to resolve this error and also tell me the root cause of this error?
Note: No one else did an UPDATE of my database while my transaction was happening (my transaction is also read only). Thanks in advance.
To decide how big your UNDO_RETENTION parameter needs to be, issue the following query:
SELECT MAX(maxquerylen) FROM v$undostat;Set your UNDO_RETENTION parameter to a value larger than this. Increasing your UNDO_RETENTION will increase the total used Undo size in your tablespace, so you may have to increase the size of your database.
To determine how big your Undo Tablespace must be, issue the following query:
SELECT MAX(undoblks) FROM v$undostat;Multiply the value returned by your DB_BLOCK_SIZE. Your Undo Tablespace must be larger than this value.
Frequent monitoring of V$UNDOSTAT can help you size your Undo space adequately and will make those ORA-1555 errors disappear.