powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / не могу убрать старое UNDO, Oracle продолжает его использовать
31 сообщений из 31, показаны все 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
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39014846
Фотография DВА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SilentMageпочитал про очистку блоков ( http://my-oracle.it-blogs.com.ua/post-422.aspx)
видимо вручную их почистить проблематично? разве что сделать select * from *
я уже переключился обратно на первое анду, так что подожду, пока освободится второе, и рискну грохнуть)

не выдумывайте себе проблем
есть стандартная команда удаление undo - drop tablespace
если ораклу этот андо зачем-то нужен, то он не позволит его грохнуть, тогда и будите разбираться
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39016545
SilentMage
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
блин, оказывается флешбэк сбрасывается при переключении анду, а я то думал, что придется ждать...
перевел в оффлайн undotbs2, дождался, пока у программистов начнет вылазит ошибка, и дропнул его всё, ошибки перестали лезть, пакеты компилятся нормально
спасибо всем, особенно DBA !
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39269384
Переключил ТП UNDO на новое, подождал пока освободится. Еще подождал. Подождал сутки.
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
  1*  select tablespace_name,status,count(*) FROM DBA_UNDO_EXTENTS group by tablespace_name,status order by 1
SQL> /

TABLESPACE_N STATUS             COUNT(*)
------------ ---------------- ----------
UNDOTBS1     UNEXPIRED               124
UNDOTBS1     EXPIRED                4115
UNDOTBS2     ACTIVE                    1
UNDOTBS2     EXPIRED                 131
UNDOTBS2     UNEXPIRED               789



Эти 124 сегмента не связаны ни с одной транзакцией.

Прочитал вашу интересную беседу. Набрался смелости и сказал
07.07.2016 04:23:57 +03:00 alter tablespace undotbs1 offline
Получил
07.07.2016 04:24:01 +03:00 Completed: alter tablespace undotbs1 offline
07.07.2016 04:24:08 +03:00 Checker run found 5 new persistent data failures
Испугался,
07.07.2016 04:32:42 +03:00 alter tablespace undotbs1 online
07.07.2016 04:32:42 +03:00 Completed: alter tablespace undotbs1 online
Пошел читать дальше.
Опять набрался смелости
И сделал
07.07.2016 05:25:36 +03:00 alter tablespace UNDOTBS1 offline
07.07.2016 05:25:38 +03:00 Completed: alter tablespace UNDOTBS1 offline
Тут же получил
07.07.2016 05:27:22 +03:00 Errors in file /u01/oracle/diag/rdbms/pqa/PQA/trace/PQA_j001_19874.trc: ORA-12012: ошибка при автоисполнении задания "GATE_ZXC"."IMPORT_ZXCV" ORA-00376: в данный момент файл 3 не может быть прочитан ORA-01110: файл данных 3: '/u02/oracle/oradata/PQA/datafile/o1_mf_undotbs1_98y0vwq8_.dbf' ORA-06512: на "COMMONS_LOG.XCV_COMMONS_LOG", line 71 ORA-06512: на "COMMONS_LOG.XCV_COMMONS_LOG", line 136 ORA-06512: на "GATE_ZXC.GATE_IMPORT", line 306 ORA-00376: в данный момент файл 3 не может быть прочитан ORA-01110: файл данных 3: '/u02/oracle/oradata/PQA/datafile/o1_mf_undotbs1_98y0vwq8_.dbf' ORA-06512: на "GATE_ZXC.GATE_IMPORT", line 1341

Опять испугался, включил обратно.

Подскажите, пожалуйста, как можно не нарушая работы системы избавится от UNDOTBS1. Дропнуть и посмотреть что получится желания нет. Потому что:

However, since DROP TABLESPACE drops an undo tablespace even if it contains unexpired undo information (within retention period), you must be careful not to drop an undo tablespace if undo information is needed by some existing queries.
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39269567
Мастер Ломастер, попробуй прибить все сессии, транзакции которых начались до создания нового UNDO - v$transaction
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39269598
убить Биллов,

Спасибо за совет... Я начитавшись подрывной литературы, имея в виду что все сегменты из целевого undo tablespace offline сказал
07.07.2016 10:07:49 +03:00 drop tablespace UNDOTBS1 including contents and datafiles
... и вот уже два часа жду завершения операции
...
Рейтинг: 0 / 0
не могу убрать старое UNDO, Oracle продолжает его использовать
    #39269638
... закончилось....
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Oracle [игнор отключен] [закрыт для гостей] / не могу убрать старое UNDO, Oracle продолжает его использовать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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