| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > почему расширяется/увеличивается UNDOTBS |
| Автор: zloyGamer 19.4.2010, 07:05 |
| всем привет, при удалении большого количества записей почему то увеличивается размер файла БД UNDOTBS01.DBF, вроде никаких триггеров при удалении не срабатывает, сейчас этот файл уже больше гигабайта, а дальше хуже. подскажите пожалуста куда копать? |
| Автор: DimW 19.4.2010, 08:19 |
это проблема? почему ее нужно решать? при удалении данных УНДО не должен увеличиваться, почему? увеличение УНДО напрямую связано с работой тригеров, почему? |
| Автор: zloyGamer 19.4.2010, 22:21 |
| мм.. > это проблема? да > почему ее нужно решать? я удаляю определенные записи(старые логи/истории изменений записей и кучу другого хлама) из таблиц чтобы уменьшить размер базы, т.к. бэкапы и и перенос их на другую машину становится проблематичен и вообще долго выполняется(элементарно скопирывать файл 1-3гб дольше чем 100-300мб). > при удалении данных УНДО не должен увеличиваться, почему? не, не должен )) зачем мне это? это лишнее! > увеличение УНДО напрямую связано с работой тригеров, почему? связано/не связано пока не знаю, над смотреть.., а почему - я вообще без понятия! мне просто надо максимально уменьшить размер бд но чтоб нужная инфа не пропала, и я вроде все лишнее посносил но тут какойто УНДО ... как от него избавиться? |
| Автор: Sokol71 19.4.2010, 23:27 |
| UNDO (анду а не ундо) tablespace хранит информацию, связанную с вносимыми в БД изменениями (в данном случае - удаление данных). Эта информация используется для обеспечения возможности отмены изменений и отката назад (rollback ) чем больше изменений вносится от предыдущего rollback/commit до следующего - тем больше места надо в undo tablespace (чтобы все их хранить) файл "пухнет" - видимо стоит на авто extend (расширяется-то он автоматически, да вот назад не схлопывается) как вариант использовать скрипт или процедурку где почаще выдавать commit после удаления небольшого количества записей |
| Автор: zloyGamer 20.4.2010, 06:10 |
| спасибо, попробую |
| Автор: DimW 20.4.2010, 08:53 |
от него не нужно избавляться, если его размер смущает, то можно его пересоздать, и понаблюдать за какое время он достигнет прежних размеров. хочу заметить, что его размер это не аномалия, а факт того, что в какой то момент дествительно потребоволся такой размер для сигмента отката. возможно это был пик работы с БД, возможно длительная разовая транзакция. Sokol71 уже сказал: по этому играясь с коммитами проблему не решить - в данном случае поможет его пересоздание(или точнее переопределение). |