Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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, а то в случае чего у тебя этот сегмент займёт весь винт smile.gif Да и ещё если не уверен оставь всё по умолчанию.

Надеюсь понятно, что К - это килобайты, а М - это мегабайты smile.gif

Автор: man2002ua 5.3.2003, 23:22
Shrink уменьшает размер сегмента, а не освобождает его. У меня в двух файлах сегмента отката (каждый по 4Гб) - занято 3,5 Гб! Пусть файлы будут того же размера - мне надо процент свободного места увеличить.
или я чего не понимаю?

Автор: simanyay 6.3.2003, 23:06
Цитата
У меня в двух файлах сегмента отката (каждый по 4Гб) - занято 3,5 Гб!
Не думал, что настолько. Ну тогда лучше пересоздай их. Только max extents поменьше поставь (В случае чего ALTER'нёшь) Но если можно подождать дня два, я спрошу у опытных людей и напишу.

Автор: man2002ua 6.3.2003, 23:08
уже пересоздал smile.gif, спасибо - узнай обязательно!

Автор: 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
не знаю - уже пересозданы smile.gif как забьются снова - попробую

Автор: 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
если бы оракл развил свои средства диагностики и утилиты, помогающие решить эти проблемы - цены бы ему не было! А так получается - для диагностики - одни средства, для исправления - или руки или непонятно чьи тулзы.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)