ORA-12801: ошибка, сигнализируемая в параллельном сервере запросов P004 и ORA-01555: снимок слишком старый

Вопрос: Я выполняю insert into... select... from... where... SQL и получил следующую ошибку с использованием Oracle: java.sql.SQLException: ORA-12801: error signaled in parallel query server P004 ORA-01555: snapshot too old: rollback segment number 32 with name "_SYSSMU32_2039035886$" too small Я прочитал следующий документ: http://www.dba-oracle.com/t_ora_12801_parallel_query.htm и http://www.dba-oracle.com/t_ora_01555_snapshot_old.htm Высказывание ORA-12801 вызвано недостаточным количеством процессоров для поддержки параллельного запроса.

Вопрос:

Я выполняю insert into… select… from… where… SQL и получил следующую ошибку с использованием Oracle:

java.sql.SQLException: ORA-12801: error signaled in parallel query server P004 ORA-01555: snapshot too old: rollback segment number 32 with name «_SYSSMU32_2039035886$» too small

Я прочитал следующий документ: http://www.dba-oracle.com/t_ora_12801_parallel_query.htm и http://www.dba-oracle.com/t_ora_01555_snapshot_old.htm

Высказывание ORA-12801 вызвано недостаточным количеством процессоров для поддержки параллельного запроса. Ошибка ORA-01555 связана с недостаточным хранением памяти или слишком маленьким значением параметра undo_retention.

Но как я могу проверить связанные параметры, чтобы избежать повторения этой проблемы?

Лучший ответ:

Из руководства:

ORA-12801: ошибка, сигнализируемая в строке сервера параллельных запросов

Причина. Параллельный сервер запросов достиг исключения.

Действие: Проверьте следующее сообщение об ошибке для причины и обратитесь к руководству по ошибкам для соответствующего действия.

Это общее сообщение об ошибке и почти никогда не имеет ничего общего с недостаточным количеством процессоров. Это пример того, как сайт, с которым вы связаны, часто содержит много плохой или устаревшей информации. Возможно, 17 процессов были “много” 17 лет назад, но это не сегодня. К сожалению, этот сайт часто является первым результатом Google.

Вы можете проверить сохранение UNDO, которое представляет собой количество секунд в секундах, например:

select value from v$parameter where name = ‘undo_retention’

Еще раз, см. Руководство для получения дополнительной информации о параметре.

Оцените статью
Добавить комментарий