|
|
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
ПЕСчем закончилось-то? +1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.12.2006, 23:14 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Интересно, уважаемые Partos и MacDuck , сделали выводы, или так и продолжают обращаться с промышленными базами? Мудрить с Undo в рабочее время, апдейтить словарь, и т.п.? не говоря уже про удаление архивлогов. А то прочитают этот топик (или ему подобные топики) молодые ораклисты, и подумают что это "круто", и пойдут проверять прочитанное на доверенных им базах? :)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 12:54 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
АнонимусИнтересно, уважаемые Partos и MacDuck , сделали выводы, или так и продолжают обращаться с промышленными базами? Сделали. :-) А финал истории был печален: база была грохнута, в результате пропало хрен знает сколько человекочасов влива в DWH. От кастрации Partos-а спасло лишь наличие исходных данных из которых оный препродуктивный DWH формировался. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.01.2007, 13:38 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Нет возможности удатить старый undo по одной простой причине, в нем система располагает rollback сегмент, а вот создать rollback в новом undo пространстве, и перевести систему на использование нового undo сегмента, то система отпустит старый undo и его можно будет удалить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2007, 17:49 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Сжатие UNDO типичная задача. Например по какой либо причине хочется уменьшить размер UNDO, благо вроде места свободного в нём полно. Тем не менее шринк ругается что где-то в свободном месте есть что-то что не даёт как следует шринкнуть табличное пространство. Самая что ни на есть тривиальная задача. Главное не наделать глупостей. Вот правильный алгоритм уменьшения размеров UNDO : 1) смотрим время удержания show parameter undo_retention , запоминаем 2) делаем маленький undo_retention (секунд 10) alter system set undo_retention=10 SCOPE=MEMORY SID='*' ; 3) создаём новое маленькое табличное пространство например UNDO2 делаем его рабочим alter system set undo_tablespace=UNDO2 SCOPE=BOTH SID='*' ; 4) ждём 10 секунд :-) и останавливаем базу shutdown immediate ; 5) стартуем БД 6) спокойно и без проблем истребляем старое UNDO 7) возвращаем старое время удержания На самом деле достаточно просто создать новое маленькое UNDO, сделать его рабочим, перестартовать БД, после чего грохнуть старое UNDO. Самое сложное в этом процессе договориться с руководством об остановке БД. Иногда это очень сложно, но лучше это, чем страсти описанные автором темы. Неоднократно без всяких проблем выполнял подобные действия. Надеюсь что эта рекомендация предотвратит у начинающих вышеописанные ужасы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 17:30 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomНа самом деле достаточно просто создать новое маленькое UNDO, сделать его рабочим, перестартовать БД, после чего грохнуть старое UNDO. Неоднократно без всяких проблем выполнял подобные действия. Всё это время вам жутко, просто нереально везло. Или база совершенно ненагружена. Хотя, вы же не писали, что дропали анду в маунте типа "оффлайн дроп". А от остального Оракл вас убережёт ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 02.04.2015, 20:46 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDom, undo_retention тут каким местом? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.04.2015, 02:05 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Если бы я это многократно не делал, и не был уверен в том, что это безопасно, я бы поостерёгся такие советы давать. undo_retenshen просто подстраховка, можно его и не менять. Идея состоит в том что старое undo перестанет использоваться по прошествии этого времени, а все новые транзакции будут использовать новое undo. На самом деле можно не менять undo_retenshen, а просто перестартовать БД (естественно с immediate), а после старта просто удалить старое undo. C этим алгоритмом у меня проблем не было, а проблема возникла при переводе старого undo в offline normal. БД большая, и решили поосторожничать, не сразу грохнуть старый undo, а подождать, посмотреть может оно кому то нужно. И таки да :-( пошли злобные ругательства на то что данный файл не может быть рид в данный момент от совершенно разных задач, которые никак не связанны с этим undo. Пришлось вернуть в online. Эта опупея мной в другой ветке описана, и как мне в ней подсказали, не я первый наступил на эти грабли. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 18:37 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDom, undo_retention если оно не guarantee, принципиально на целостность данных не влияет Когда вы корректно удалили undo-тп и если совершенно случайно стартанутой до начала манипуляций с андо сессии понадобятся данные из старого андо, или флэшбэк-запрос захочет их увидеть,то получит snapshot too old, если сессия наступит на отложенную очистку блоков, то сочтет транзакции закомиченными. А вот если вы перевели тп в офлайн, то ядро считает что у вас андо еще на месте и в перечисленных случаях ломанется его читать, на что вы и получите соответствующие ошибки. Как будет с undo_retention guarantee - не знаю, советую проверить и поделиться ) Скорее всего просто до его истечения не сможете удалить тп. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2017, 19:18 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Кстати, если кто то не согласен с предложенным мной алгоритмом - предложите свой вариант. С удовольствием ознакомлюсь, не исключено что он будет лучше моего. Вперёд коллеги, жду лучшего варианта. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 09:51 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDom, Я вообще не вижу смысла его сжимать, сделал 10Гб, - копейки в наши дни, и забыл о его существовании ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 10:53 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomКстати, если кто то не согласен с предложенным мной алгоритмом - предложите свой вариант. С удовольствием ознакомлюсь, не исключено что он будет лучше моего. Вперёд коллеги, жду лучшего варианта. для идиотов вполне подойдет ) Для остальных все проще Создаем новое андо-тп, переключаем на него параметр undo_tablespace, удаляем старое после того как в нем не останется активных сегментов либо когда оракл позволит это сделать. Для извращенцев можно и перегрузить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 12:22 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
Как не крути, а время от времени с undo приходится сталкиваться. Я рад за тех кто создал undo какого то размера и забыл о нём. И я был бы счастлив если бы у меня была такая ситуация. К сожалению на практике всё несколько иначе. Например в один прекрасный момент к тебе приходит, разработчик или пользователь и говорит что ему надо сделать какой то экзотический запрос и который валится с ошибкой снапшот ту олд. Увеличиваем undo до тех пор? пока проблема не рассосётся (ну конечно сначала смотрим что это за запрос и почему ему нужно столько undo). И так несколько раз. Затем выясняется что работа была разовая и больше undo такого размера в обозримом будущем вам не понадобится, а с местом как назло всё не очень хорошо, а может оказаться что даже совсем плохо. И вот тут возникает желание посжимать всяческие ТП и первый кандидат на это огромный пустой undo. Сценарии могут быть разные, у меня был и такой вариант. На счёт отсутствия активных сегментов в старом undo. Вот именно так я и делал - создал новое undo изменил время удержания, проверил что нет активных сегментов и перевёл старое undo в ofline normal. И через некоторое время пощли ошибки что файл старого undo не может быть рид. Пришлось вернуть в online. Более того прошло уже недели 2, мы 2 раза БД перегружали, а попытка перевести старое undo в ofline по прежнему вызывает ошибку. А вот с алгоритмом описанном мной ни разу никаких проблем не было. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 14:20 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomКак не крути, а время от времени с undo приходится сталкиваться. Я рад за тех кто создал undo какого то размера и забыл о нём. И я был бы счастлив если бы у меня была такая ситуация. К сожалению на практике всё несколько иначе. Например в один прекрасный момент к тебе приходит, разработчик или пользователь и говорит что ему надо сделать какой то экзотический запрос и который валится с ошибкой снапшот ту олд. Увеличиваем undo до тех пор? пока проблема не рассосётся (ну конечно сначала смотрим что это за запрос и почему ему нужно столько undo). И так несколько раз. Затем выясняется что работа была разовая и больше undo такого размера в обозримом будущем вам не понадобится, а с местом как назло всё не очень хорошо, а может оказаться что даже совсем плохо. И вот тут возникает желание посжимать всяческие ТП и первый кандидат на это огромный пустой undo. Сценарии могут быть разные, у меня был и такой вариант. На счёт отсутствия активных сегментов в старом undo. Вот именно так я и делал - создал новое undo изменил время удержания, проверил что нет активных сегментов и перевёл старое undo в ofline normal. И через некоторое время пощли ошибки что файл старого undo не может быть рид. Пришлось вернуть в online. Более того прошло уже недели 2, мы 2 раза БД перегружали, а попытка перевести старое undo в ofline по прежнему вызывает ошибку. А вот с алгоритмом описанном мной ни разу никаких проблем не было. у тя каша в голове размер undo, который нужен транзакции, с ошибкой снапшот ту олд никак не связан. "время удержания" с возможностью корректного удаления андо никак не связано ошибки при переводе андо в офлайн с перезагрузкой никак не связаны, они будут возникать постоянно Так что либо держишь андо в онлайне, либо удаляешь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.07.2017, 14:45 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
DВА Ну не надо нас маленьких дурить А с чем же по вашему связан снапшот ту олд если не с undo? :-) И ещё, поясните если такой грамотный, почему Oracle ругается на файл переведённого в oofine undo, если у него активных сегментов нет и 0 использованного места? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 12:40 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomА с чем же по вашему связан снапшот ту олд если не с undo? :-) И ещё, поясните если такой грамотный, почему Oracle ругается на файл переведённого в oofine undo, если у него активных сегментов нет и 0 использованного места? ORA-1555 возникает в следствие неудовлетворенной потребности в undo-векторах зафиксированных транзакций. Потому после штатного (по завершении всех активных транзакций) удаления undo ts могут пострадать только запросы, точка синхронизации которых находится ранее даты фиксации последней транзакции, хранившей свои undo в удаляемом ts. Ну и ретроспективные запросы (as of scn/timestamp). Обычно это не проблема. Сама база будет жить. А по поводу второго вопроса - уважаема я DBA уже давала пояснения в этом топике 20655396 , не? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 13:17 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomDВА Ну не надо нас маленьких дурить А с чем же по вашему связан снапшот ту олд если не с undo? :-) И ещё, поясните если такой грамотный, почему Oracle ругается на файл переведённого в oofine undo, если у него активных сегментов нет и 0 использованного места? я смотрю с процессом понимания у тебя тяжеловато ) ...или у меня с процессом объяснений для начальных классов средней школы )) тогда просто поверь на слово - удаляй андо и все будет хорошо ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 20.07.2017, 13:31 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
andrey_anonymousORA-1555 возникает в следствие неудовлетворенной потребности в undo-векторах зафиксированных транзакций. Потому после штатного (по завершении всех активных транзакций) удаления undo ts могут пострадать только запросы, точка синхронизации которых находится ранее даты фиксации последней транзакции, хранившей свои undo в удаляемом ts. Ну и ретроспективные запросы (as of scn/timestamp). И что по вашему мнению это говорит что снапшот ту олд не связан с undo? Ещё раз утверждаю, что начиная с версии Oracle в которой появилось TS undo, все ошибки типа снапшот ту олд связанны исключительно с размером undo. Бороться с этим можно разными способами - смотреть почему запрос так долго работает что данные устаревают, или просто увеличить размер undo - личное дело конкретного DBA. Далее эту тему я развивать не намерен. DOMundo_retention если оно не guarantee, принципиально на целостность данных не влияет Когда вы корректно удалили undo-тп и если совершенно случайно стартанутой до начала манипуляций с андо сессии понадобятся данные из старого андо, или флэшбэк-запрос захочет их увидеть,то получит snapshot too old, если сессия наступит на отложенную очистку блоков, то сочтет транзакции закомиченными. А вот если вы перевели тп в офлайн, то ядро считает что у вас андо еще на месте и в перечисленных случаях ломанется его читать, на что вы и получите соответствующие ошибки. Как будет с undo_retention guarantee - не знаю, советую проверить и поделиться ) Скорее всего просто до его истечения не сможете удалить тп. Вы я вижу не в состоянии понять смысл заданного мной вопроса. То что ядро почему то считает что это файл ему нужен, это и ёжику понятно. Это равносильно утверждению что вода мокрая. Я спрашиваю почему оно так считает, не смотря на то что всяческие ретеншены давно истекли и нет активных сегментов, при 0 использованного пространства. И главное как с этим бороться. Если вы не можете ответить на данные вопросы, то не надо флудом заниматься. Я жду конкретных предложений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 09:43 |
|
||
|
Проблемы с UNDOTBS
|
|||
|---|---|---|---|
|
#18+
VDomЕсли вы не можете ответить на данные вопросы, то не надо флудом заниматься. Я жду конкретных предложений. вконец молодежь оборзела ))) ему дали кучу ссылок , чуть напряги мозг почитай, не, оно видите ли ждет конкретных предложений шоб разжевали и в рот положили правда тоже не факт что прожует, скорее продолжит дальше свои фантазии развивать Последняя попытка, если не поймешь, предложение одно - убить себя ап стенку ))) Оракл читает твой андо, потому что ему нужно 1. очистить грязные блоки 2. сгенерить ретроспективный запрос Пока понятно? Чуть-чуть напрягаем мозог и пытаемся осилить фразу: после скидывании неочищенных блоков на диск , т.е блоков , в которых нет признака, закомичена изменившая их транзакция или нет, а есть только адрес андо-слота, который отвечает за этот момент, оракл больше не меняет их до тех пор, пока кто-то не захочет прочитать имеющиеся там данные. Когда этот кто-то видит, что блок грязный, он обязан проверить, закомичена ли транзакция или нет, а для этого прочитать слот в андо-тп. А вот тут ключевой момент - если андо корректно удалено, значит транзакция однозначно закомичена и больше ничего проверять не нужно, потому что иначе оракл не позволил бы его удалить. Если андо присутствует, значит нужно его прочитать. Как спрашивается прочитать андо в офлайне ? Вот твои ошибки. Очень сложно для понимания пишу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.07.2017, 11:51 |
|
||
|
|

start [/forum/topic.php?fid=52&gotonew=1&tid=1885565]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
167ms |
get topic data: |
10ms |
get first new msg: |
5ms |
get forum data: |
2ms |
get page messages: |
69ms |
get tp. blocked users: |
1ms |
| others: | 205ms |
| total: | 484ms |

| 0 / 0 |
