You started a long transaction. Before committing, you executed a query on one of the tables
currently being modified. You received the following error:
ORA-01555: snapshot too old
How would you prevent such an error in the future? (Choose three.)
A.
guarantee undo retention
B.
add one more redo log group
C.
size the redo log files appropriately
D.
size the UNDO tablespace appropriately
E.
size the SYSTEM tablespace appropriately
F.
configure an appropriate undo retention interval
G.
change automatic undo management to manual
ORA-01555: snapshot too old: rollback segment number string with name “string” too small
Cause: Rollback records needed by a reader for consistent read are overwritten by other writers.
Action: If in Automatic Undo Management mode, increase the setting of UNDO_RETENTION. Otherwise, use larger rollback segments.
Increasing the size of your rollback segment (undo) size. The ORA-01555 snapshot too old also relates to your setting for automatic undo retention.
Automatic tuning of undo retention typically achieves better results with a fixed-size undo tablespace.
TO optimize the rollback segment size in Oracle8i:
a) Create multiple rollback segment, each rollback segment with 20 minextents and set maxextents to 255. Also set INITIAL=NEXT=(your_optimal_size/20).
b) Place each rollback segment in its own tablespace. The tablespace should be able to AUTOEXTEND ON.
c) Monitor the growth of each rollback segment beyond 20 extents.
d) During scheduled maintenance, manually take each rollback segment offline, drop the rollback segment, and re-allocate with the right-sized datafile for 20 extents (based on historical growth in v$rollstat).
UNDO – RETENTION – SIZE