powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / не могу убрать старое UNDO, Oracle продолжает его использовать
25 сообщений из 31, страница 1 из 2
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39010967
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
здравствуйте!
после нескольких дней поиска в инете решил все-таки создать тему.
Oracle 10.2.0.3 на линуксе x64
Код: plaintext
1.
2.
undo_management	AUTO
undo_tablespace	UNDOTBS2
undo_retention	1814400
полгода назад переносил UNDO TBS на другой раздел. толком не разобравшись, создал новый UNDO (ну инфа в инете неудачная попалась, и в доках глядел вначале только обычные тейблспейсы, да и просто не хотелось допоздна ждать возможности остановить сервер на полчаса)
вроде ничего страшного, выключил retention guarantee на старом, все сегменты давно уже expired и offline (полгода прошло), в оффлайн весь тейблспейс уходит без проблем, однако
через некоторое время после его отключения при попытке скомпилировать какой-нибудь пакет возникает ошибка:
ORA-00604: ошибка на рекурсивном SQL-уровне 1
ORA-00376: в данный момент файл 2 не может быть прочитан
ORA-01110: файл данных 2: '/u01/app/oracle/oradata/base/undotbs01.dbf'

в awr-отчетах иногда бывает до сотни операций чтения/записи (в новом undotbs2 - десятки тысяч, заполнен он на 75%)

статус экстентов:
Код: plsql
1.
2.
3.
select tablespace_name, status, count(*) 
  from dba_undo_extents 
 group by tablespace_name, status


Код: plaintext
1.
2.
3.
UNDOTBS1	EXPIRED	12487
UNDOTBS2	ACTIVE	122
UNDOTBS2	EXPIRED	70
UNDOTBS2	UNEXPIRED	21870

собственно вопросы: почему оракл продолжает использовать неактивный UNDO TBS и как заставить его отказаться от этой идеи?
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011039
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю тут ты найдешь как отключить и потом удалить старый undo
http://docs.oracle.com/cd/B19306_01/server.102/b14231/undo.htm
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011058
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доку эту я уже вдоль и поперек изучил, решения не вижу...
отключить и удалить его я могу и прямо сейчас, только вот база через некоторое время работает перестанет :(
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011076
KyRo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если корректно отключить его то по идее не должно быть проблем с работоспособностью базы. На всякий случай отключи его на какое то время и если не чего не случится то удаляй.
Лучше конечно проделать это на какой то тестовой среде.

Посмотри так же нет ли чего то у тебя в UNDO что не относится к UNDO. Может таблицу какую то , кто то создал в данном TS.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011087
s_v_a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilentMage,
этот экземпляр за полгода ни разу не перезапускали?
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011090
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в UNDO нельзя создавать таблицы, но даже если бы и можно было - нет там ничего, кроме 122 _SYSSMU объектов
много раз уже отключал на некоторое время, но потом программисты правят очередной пакет и приходится включать, иначе не компилится!
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011092
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
s_v_a,
перезапускал пару раз, последний раз седня утром) отключив перед этим undo... после рестарта все так же, приходится включать...
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011180
li_malina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage,

А не связано ли это как-то с flashback?
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011181
Фотография Viewer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilentMage, чего то ты всё же недоговариваешь, imho.
Попробуй, например, по шагам http://neeraj-dba.blogspot.ru/2011/05/how-to-drop-undo-tablespace.html , сохраняя скриншоты для протокола.
И если ... собери всё сделанное в кучу, по примеру статьи. Потом приаатачишь вложением для рассмотрения общественностью...
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011371
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
li_malinaА не связано ли это как-то с flashback?
переключив базу на новое анду (полгода назад), я уменьшал undo retention почти до нуля, чтоб побыстрее очистить старое... не помогло.

Viewer
на боевой базе создавать третье анду для экспериментов что-то не хочется... (к тому же первые два весят по 50 гб)
если смотреть по твоей ссылке, то я все 5 шагов проделал давно и успешно, ну только тбс не дропнул, а в офлайн перевожу:
alter tablespace undotbs1 offline - проходит нормально, проблемы начинаются позже.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011554
li_malina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage,

Да я просто предположила.Если у вас 2 undo то насколько я помню выбирается доступное или то которое прописано в init.ora или если вы переключали с одного на другое командой alter system set undo_tablespace=UNDO1 scope=both sid='*';.Если все это у вас было сделано то ошибки быть не должно.а она возникает при компиляции пакетов.Вот когда пакет компилируется если включен flashback,то при необходимости можно вернуть старое состояние пакета.А flashback в своей работе использует undo
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011894
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
все правильно. но, согласно всем документациям, один инстанс в данный момент может и должен писать только в одно UNDO, которое указано в параметре БД undo_tablespace. к другим же UNDO он теоретически может обращаться только при флешбек-запросе и при наличии там unexpired блоков.
в гриде может все и не так просто, но у меня не грид...
заглядываю иногда в V$BH, там бывает до нескольких сотен блоков из старого UNDO... что за фигня?
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39011945
li_malina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage,

А у вас не RAC?Если RAC то для каждой инстанции должен ьыть свой UNDO
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39012263
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
li_malina,
ну я про это и написал (под гридом я подразумевал кластер)
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39012341
li_malina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage,
Так поэтому у Вас и проблемы в RAC обязательно для всех инстанций должен использоваться один spfile (общий на 2 инстанции и в нем должно быть определено какое undo для первой инстанции и какое для второй-
апример
имя инстанции1.undo_tablespace='UNDOTBS01'
имя инстанции2.undo_tablespace='UNDOTBS02'
а у Вас как?
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39012924
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
li_malina,
я же написал выше, что у меня НЕ кластер:)
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39012936
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage, наверняка это баг. Патчсет-то у тебя не последний.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39012939
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хм, может попробовать тогда сделать обратную процедуру? перенести в нужное место первый UNDO, переключиться на него и надеяться, что второй уже не будет так глючить?) буду пробовать...
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39013473
Nobody1111
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMageхм, может попробовать тогда сделать обратную процедуру? перенести в нужное место первый UNDO, переключиться на него и надеяться, что второй уже не будет так глючить?) буду пробовать...

У меня на 11.2.0.4 при таких переключениях Оракл тоже начинал не по детски глючить, анду, с которого ушли, не хотел освобождаться ни за какой срок, правда, после перезапуска освобождался и удалялся без проблем.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39013763
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilentMageсобственно вопросы: почему оракл продолжает использовать неактивный UNDO TBS и как заставить его отказаться от этой идеи?

1.потому что встречает неочищенные блоки, в заголовках которых ссылки на старый андо, поскольку андо в словаре существует, то обязан проверить в нем состояние последней транзакции
2. drop tablespace. на нет и суда нет. нет табличного пространства, значит транзакция завершена и закомичена, никуда больше не лезем.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014429
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почитал про очистку блоков ( http://my-oracle.it-blogs.com.ua/post-422.aspx)
видимо вручную их почистить проблематично? разве что сделать select * from *
я уже переключился обратно на первое анду, так что подожду, пока освободится второе, и рискну грохнуть)
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014653
SilentMage,

елы-палы )))

вы хоть каталог /proc/ посмотрите че там за процессы держуть
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014661
AG#.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
SilentMage,
отложенный роллбык
а селектом не взведете параллель ? ;)
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014685
Байкал AG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AG#.SilentMage,
отложенный роллбык
а селектом не взведете параллель ? ;)

http://www.sql.ru/forum/1110323/ora-01548-active-rollback-segment
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014714
Байкальский поток от AG#SilentMage,

елы-палы )))

вы хоть каталог /proc/ посмотрите че там за процессы держуть

потоков на Байкале втекает много...вытекает один резалт
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Oracle [игнор отключен] [закрыт для гостей] / не могу убрать старое UNDO, Oracle продолжает его использовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]