1Z0-052 · Question #216
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…
The correct answer is A. guarantee undo retention D. size the UNDO tablespace appropriately F. configure an appropriate undo retention interval. ORA-01555 (snapshot too old) occurs when undo data required for read consistency has been overwritten; the fix requires ensuring enough undo space, a long enough retention period, and optional guaranteed retention to protect long-running queries.
Question
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.)
Options
- Aguarantee undo retention
- Badd one more redo log group
- Csize the redo log files appropriately
- Dsize the UNDO tablespace appropriately
- Esize the SYSTEM tablespace appropriately
- Fconfigure an appropriate undo retention interval
- Gchange automatic undo management to manual
How the community answered
(53 responses)- A43% (23)
- B32% (17)
- C13% (7)
- E4% (2)
- G8% (4)
Why each option
ORA-01555 (snapshot too old) occurs when undo data required for read consistency has been overwritten; the fix requires ensuring enough undo space, a long enough retention period, and optional guaranteed retention to protect long-running queries.
Guaranteeing undo retention (setting the RETENTION GUARANTEE clause on the UNDO tablespace) instructs Oracle never to overwrite unexpired undo data even when the tablespace is under space pressure, directly preventing ORA-01555 for long transactions.
Adding redo log groups affects how quickly Oracle can recycle redo logs and influences checkpoint behavior, but has no effect on how long undo data is retained or available for read-consistent queries.
Sizing redo log files influences the frequency of log switches and checkpoints but is completely unrelated to undo segment management or the availability of consistent read snapshots.
Sizing the UNDO tablespace appropriately provides enough physical disk space to store undo data for the duration of the longest concurrent transaction or query, reducing the probability that active undo is overwritten before it is no longer needed.
The SYSTEM tablespace hosts the Oracle data dictionary and system segments; undo data resides in the dedicated UNDO tablespace, so SYSTEM tablespace sizing has no effect on ORA-01555.
Configuring an appropriate undo retention interval via the UNDO_RETENTION parameter tells Oracle the minimum number of seconds to retain undo data after a transaction commits, which must be set to at least cover the execution time of the longest running query to prevent snapshot-too-old errors.
Switching from Automatic Undo Management (AUM) to manual rollback segment management is a deprecated approach that does not inherently prevent ORA-01555 and removes the benefits of Oracle's automatic undo retention tuning.
Concept tested: Undo retention configuration to prevent ORA-01555
Source: https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-undo.html
Topics
Community Discussion
No community discussion yet for this question.