Як вирішити проблему ora-01555, викликану інструкцією SQL?
Щоб вирішити цю проблему, також збільште параметр UNDO_RETENTION, якщо ви перебуваєте в режимі AUM або використовуєте більші сегменти відкату. Останнє рішення дозволить довше зберігати ваші дані відкату для завершених транзакцій.
Помилки ORA-1555 можуть статися, коли запит не може отримати доступ до достатньої кількості скасувань, щоб створити копію даних на момент початку запиту. Помилка є законною проблемою з доступом до блоку скасування, який було перезаписано через закінчення періоду збереження скасування.
Вирішення: повідомлення ORA-1555 вказує на "записи відкоту, необхідні читачеві для послідовного читання, перезаписуються іншими записувачами". Якщо ви виконуєте це завдання в той час, коли онлайн-система або ue_01 оновлює файл, який читається, спробуйте запустити завдання в той час, коли pc_server і/або ue_01 зупинено.
Виправити: Уважно перегляньте SQL-запит, перевірте, чи немає орфографічних помилок, пропущених чи неправильних знаків пунктуації та переконайтеся, що всі назви таблиць і стовпців правильні. Використовуйте повідомлення про помилку, яке надає система бази даних, оскільки воно часто вказує на конкретне місце синтаксичної помилки.
Переглянути скасування зберігання.
- Використовуйте такі запити, щоб переглянути табличні простори скасування та сегменти відкату: SELECT * FROM DBA_TABLESPACES WHERE CONTENTS = 'UNDO'; SELECT * FROM V$PARAMETER WHERE NAME = 'undo_tablespace'; …
- Використовуйте такі запити, щоб переглянути статистику скасування: SELECT * FROM V$ROLLSTAT; SELECT * FROM V$UNDOSTAT;