Як вирішити проблему ora-01555, викликану інструкцією SQL?

0 Comments

Щоб вирішити цю проблему, також збільште параметр UNDO_RETENTION, якщо ви перебуваєте в режимі AUM або використовуєте більші сегменти відкату. Останнє рішення дозволить довше зберігати ваші дані відкату для завершених транзакцій.

Помилки ORA-1555 можуть статися, коли запит не може отримати доступ до достатньої кількості скасувань, щоб створити копію даних на момент початку запиту. Помилка є законною проблемою з доступом до блоку скасування, який було перезаписано через закінчення періоду збереження скасування.

Вирішення: повідомлення ORA-1555 вказує на "записи відкоту, необхідні читачеві для послідовного читання, перезаписуються іншими записувачами". Якщо ви виконуєте це завдання в той час, коли онлайн-система або ue_01 оновлює файл, який читається, спробуйте запустити завдання в той час, коли pc_server і/або ue_01 зупинено.

Виправити: Уважно перегляньте SQL-запит, перевірте, чи немає орфографічних помилок, пропущених чи неправильних знаків пунктуації та переконайтеся, що всі назви таблиць і стовпців правильні. Використовуйте повідомлення про помилку, яке надає система бази даних, оскільки воно часто вказує на конкретне місце синтаксичної помилки.

Переглянути скасування зберігання.

  1. Використовуйте такі запити, щоб переглянути табличні простори скасування та сегменти відкату: SELECT * FROM DBA_TABLESPACES WHERE CONTENTS = 'UNDO'; SELECT * FROM V$PARAMETER WHERE NAME = 'undo_tablespace'; …
  2. Використовуйте такі запити, щоб переглянути статистику скасування: SELECT * FROM V$ROLLSTAT; SELECT * FROM V$UNDOSTAT;