| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > Сегменты отката ORACLE |
| Автор: man2002ua 4.3.2003, 18:13 |
| Сегменты отката значительно выросли за последний месяц. Но я так думаю, что актуальной информации они не содержат, т.к. ничего существенного не выполнялось (даже если и есть - то она уже не нужна). Есть ли способ очистить содержимое этих сегментов? Может остановить базу и пересоздать их? |
| Автор: simanyay 5.3.2003, 22:45 |
| Вообще сегмент отката можно определить при создании. Ну вообще можно не удалять, а просто освободить пространство сегмента отката. Синтаксис ALTER ROLLBACK SEGMENT имя_сегмента SHRINK [TO целая_цифра [K|M] Например: ALTER ROLLBACK SEGMENT MySegment SHRINK TO 4M; Вот только не понмю нужно ли их переводить в офлайн... Ну если надо будет, то ALTER ROLLBACK SEGMENT имя_сегмента OFFLINE; В онлайн аналогично. Ну а если очень нужно удалить, то DROP ROLLBACK SEGMENT имя_сегмента; Чтобы потом создать сегмент отката нужна команда: CREATE [PUBLIC] ROLLBACK SEGMENT имя_сегмента [TABLESPACE табличное пространство] [STORAGE ([INITIAL целое_число[K | M] [NEXT целое_число[K | M][MINEXTENTS целое_число] [MAXEXTENTS {целое_число | UNLIMITED}] [OPTIMAL (целое_число [[K | M] | NULL)]]) Напоследок хочу сказать, что лучше не ставь максимально кол-во сегментов - UNLIMITED, а то в случае чего у тебя этот сегмент займёт весь винт Надеюсь понятно, что К - это килобайты, а М - это мегабайты |
| Автор: man2002ua 5.3.2003, 23:22 |
| Shrink уменьшает размер сегмента, а не освобождает его. У меня в двух файлах сегмента отката (каждый по 4Гб) - занято 3,5 Гб! Пусть файлы будут того же размера - мне надо процент свободного места увеличить. или я чего не понимаю? |
| Автор: simanyay 6.3.2003, 23:06 | ||
|
| Автор: man2002ua 6.3.2003, 23:08 |
| уже пересоздал |
| Автор: Oleg 11.3.2003, 18:22 |
| OPTIMAL применяешь? По-моему это единственная штука, которая минимизирует расход пространства в сегменте отката. (стандартная :-) ) Вообще экстенты добавляются из-за транзакций, а OPTIMAL освобрждает пространство сегмента отката после завершения транзакции которая была причиной добавления нового экстента. |
| Автор: man2002ua 11.3.2003, 21:08 |
| да, оптимал стоит, но не шибко помогает. Из-за чего бы это? |
| Автор: simanyay 12.3.2003, 01:20 |
| Интересно а если shrink'нуть на тот же самый размер - они очистяться? |
| Автор: man2002ua 12.3.2003, 01:21 |
| не знаю - уже пересозданы |
| Автор: man2002ua 12.3.2003, 01:27 |
| Прикол был, когда сегмент грохал. Вывел в оффлайн (data_files не выводил в оффлайн). Дропнул. Создал совсем другой, с другими названиями файлов. Запустил - все нормально. Ну думаю - пора пройтись по диску и замочить файлы от старого сегмента (всего 5). Из них 4 удалились - а 5-й не хочет!! Супер - ищу в dba_files - нету. Запускаю запрос - пишет нет места в сегменте отката!!! Прозреваю, что этот файл оракл ВСЕ ЕЩЕ держит как сегмент, но расширить его не может, т.к. его нет... Пришлось всех менегеров не хрен послать и shutdown сделать... все вроде нормально теперь. Вот такие вот баги водятся. |
| Автор: simanyay 12.3.2003, 01:39 |
| Мдаа |
| Автор: Medved 12.3.2003, 08:00 |
| Чего-то значит не так ты сделал.... |
| Автор: Oleg 12.3.2003, 18:30 |
| Да нет, я думаю все нормально, просто даже когда только начинаешь работать с ораклой, сразу понимаешь, что эта штука думает что она - пуп земли... :-) |
| Автор: man2002ua 12.3.2003, 18:34 |
| если бы оракл развил свои средства диагностики и утилиты, помогающие решить эти проблемы - цены бы ему не было! А так получается - для диагностики - одни средства, для исправления - или руки или непонятно чьи тулзы. |