|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Имеется пробема ввиде бага Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
База не поднимается. Пока все это дело ресторится на другом сервере занялся исследованием. по onlog нашел запись. Достаточно ли будет в логическом журнале пропустить откат одной записи по смещению 0x100c6fc и соседние по удалению ключей индекса, в журнале 455891 или нужно работать со всей транзакцией целяком ? Любые коментарии и ссылки по теме приветствуются. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 10:18 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
По вашей же ссылке четко сказано: Upgrade to IDS 10.00.UC8/FC8 or later Т.е. вам достаточно обновить IDS и запустить, если конечно у вас IDS10. Напсколько я понимаю, при запуске на указанніх версиях проблема уйдет. Лучше обновлять на хС9 а не на хС8 ( выше не знаю - не пробовал ) Это будет корректней чем править логи. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 10:49 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
zaietsПо вашей же ссылке четко сказано: Upgrade to IDS 10.00.UC8/FC8 or later Т.е. вам достаточно обновить IDS и запустить, если конечно у вас IDS10. Напсколько я понимаю, при запуске на указанніх версиях проблема уйдет. Лучше обновлять на хС9 а не на хС8 ( выше не знаю - не пробовал ) Это будет корректней чем править логи. Спасибо за ответ, там 9.40 FC 6. Как в таком случае быть , может кто знает, прокатит апгрейд или нет ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 10:53 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Если кому интересно вот интересные места из onlog Последний чекпоинт перед падением: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Записи по смещению 100c6fc невозможно сделать роллбэк Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 11:08 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat-Имеется пробема ввиде бага А вы уверены, что это именно такой баг ? Я спрашиваю, потому что "Rollback error 126" вылазил давно (на моей памяти еще с 7.30) и регулярно на разных версиях и очень по разным причинам. onstat-Достаточно ли будет в логическом журнале пропустить откат одной записи по смещению 0x100c6fc и соседние по удалению ключей индекса, в журнале 455891 или нужно работать со всей транзакцией целяком ? Нужно всю транзакцию целиком, если хотите получить целостную БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 14:47 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Вовремя мы слиняли на 11.50 с 9.40FC6 :) Пропустить только эти записи не получится трабла вся в записи: 478f04 60 CKPOINT 1 0 477018 1 begin xid id addr user 455877 145 455891 46e4f0 somebody запись неправильная (если вы не правили) и по идее такого не должно быть. Эта транзакция откатывается, следовательно нужно либо где-то вставить оператор фиксации этой транзакции (предполагаю что ваша ситуация отлична от описанной в баге) либо как-то ее вообще выкинуть но все это приведет к противоречивым данным. Дальнейшее "логическое восстановление" данных может занять не один месяц кстати. В зависимости от причин падения и системы лучше выполнить восстановление с архива и накатку логов до проблемного момента и потерять часть данных чем иметь геморрой с противоречивыми данными. Либо обратиться в саппорт. В зависимости от приоритета они могут в принципе то и довольно быстро помочь. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 14:51 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat-zaietsПо вашей же ссылке четко сказано: Upgrade to IDS 10.00.UC8/FC8 or later Т.е. вам достаточно обновить IDS и запустить, если конечно у вас IDS10. Напсколько я понимаю, при запуске на указанніх версиях проблема уйдет. Лучше обновлять на хС9 а не на хС8 ( выше не знаю - не пробовал ) Это будет корректней чем править логи. Спасибо за ответ, там 9.40 FC 6. Как в таком случае быть , может кто знает, прокатит апгрейд или нет ? IMHO нет. Но только практический опыт может доказать или опровергнуть. Если это именно тот баг, который вы привели (транзакция фактически уже откатилась), то вполне возможно, что новая версия и нормально обработает логи и fast recovery пройдет успешно. P.S. Будет интересно узнать результаты ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 14:52 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
zaietsВовремя мы слиняли на 11.50 с 9.40FC6 :) Пропустить только эти записи не получится трабла вся в записи: 478f04 60 CKPOINT 1 0 477018 1 begin xid id addr user 455877 145 455891 46e4f0 somebody запись неправильная (если вы не правили) и по идее такого не должно быть. Эта транзакция откатывается, следовательно нужно либо где-то вставить оператор фиксации этой транзакции (предполагаю что ваша ситуация отлична от описанной в баге) либо как-то ее вообще выкинуть но все это приведет к противоречивым данным. Дальнейшее "логическое восстановление" данных может занять не один месяц кстати. В зависимости от причин падения и системы лучше выполнить восстановление с архива и накатку логов до проблемного момента и потерять часть данных чем иметь геморрой с противоречивыми данными. Либо обратиться в саппорт. В зависимости от приоритета они могут в принципе то и довольно быстро помочь. Идея была выкинуть одну запись на которой спотыкается ролбэк. Потом, после отката, вычислить таблицу по партнуму и по rowid удалить единственную запись. Эта транзакция очень длинная, я до ее начала пока не добрался. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 15:32 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Я вашу идею прекрасно понял. Но, повторюсь, трабла скорее всего не в конкретной записи на которую ругается лог, а в записи: 478f04 60 CKPOINT 1 0 477018 1 begin xid id addr user 455877 145 455891 46e4f0 somebody Здесь явно лишнее (или только мне так кажется) 455877 145 455891 46e4f0 somebody и что такое "begin" в данном случе непонятно. Если поправить лог и убрать это лишнее, то возможно вообще не придется морочиться с транзакцией - все разрулится само собой. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 16:29 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
vasilisonstat-Имеется пробема ввиде бага А вы уверены, что это именно такой баг ? Я спрашиваю, потому что "Rollback error 126" вылазил давно (на моей памяти еще с 7.30) и регулярно на разных версиях и очень по разным причинам. Это наиболее подходящее обьяснение случившемуся найденное в интернете. Кстате причиной падения сервера стала сессия выполнявшая такой запрос: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
После этого сервер не поднялся по вышеобозначенной причине невозможности откатить совсем другую довольно тяжелую транзакцию. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 17:30 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
zaietsЯ вашу идею прекрасно понял. Но, повторюсь, трабла скорее всего не в конкретной записи на которую ругается лог, а в записи: 478f04 60 CKPOINT 1 0 477018 1 begin xid id addr user 455877 145 455891 46e4f0 somebody Здесь явно лишнее (или только мне так кажется) 455877 145 455891 46e4f0 somebody и что такое "begin" в данном случе непонятно. Если поправить лог и убрать это лишнее, то возможно вообще не придется морочиться с транзакцией - все разрулится само собой. Эта транзакция находится еще в минимум 15 чекпоинтах которые были раньше и находятся в других журналах, там ее тоже чистить?. Судя по всему откат до последнего чекпоинта так и не дошел срубившись на строке из лога. ( вырезки из журнала приводились в порядке возростаня смещений) Битая запись находится( произошла) после последнего чекпоинта. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2009, 17:35 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
А не включен ли, случайно, Fuzzy checkpoint ? Если да - выключайте. Я тут уже много раз писал на эту тему. И не зря его выкинули в более поздних версиях. И какой режим жунализации buffered или unbuf ? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 15:44 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Рыхлый чекпоинт был включен, и проблема вероятнее всего изза него. Использовался unbuffered log. Что касается 10 версии вот результат : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 17:10 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
zaiets Я вашу идею прекрасно понял. Но, повторюсь, трабла скорее всего не в конкретной записи на которую ругается лог, а в записи: 478f04 60 CKPOINT 1 0 477018 1 begin xid id addr user 455877 145 455891 46e4f0 somebody Здесь явно лишнее (или только мне так кажется) 455877 145 455891 46e4f0 somebody и что такое "begin" в данном случе непонятно. транзакция начинается в 455877 журнале текущий журнал 455891. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 18:00 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Я думаю, без утилиты onzero не обойтись... ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 18:15 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onzeroЯ думаю, без утилиты onzero не обойтись... Где можно почитать, что она может. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 19:09 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat- Где можно почитать, что она может. Это утилита саппорта. Вряд ли в открытых источниках есть ее описание. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 19:41 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
sysmasteronstat- Где можно почитать, что она может. Это утилита саппорта. Вряд ли в открытых источниках есть ее описание. Логическую целостность она гарантирует? Или хотябы логи ( partnum & rowid которые она поправила) ведет для того что бы знать где логическая целостность подгуляла? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2009, 19:49 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat-onzeroЯ думаю, без утилиты onzero не обойтись... Где можно почитать, что она может. Вам ли рассказывать о поиске по форуму ? http://sql.ru/forum/actualsearch.aspx?search=onzero+&sin=0&a=&ma=0&bid=29&dt=-1&s=1&so=1 Там топики не большие, быстро сами найдете... Главный итог - это утилита саппорта, которую ни украсть (имеет ограниченный срок действия по праолю), ни найти в инете... Только слезно _просить_ саппорт , предоставив им удаленный доступ, с обещаниями купить поддержку в ближайшем бюджетном году :) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2009, 11:12 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
vasilisonstat-onzeroЯ думаю, без утилиты onzero не обойтись... Где можно почитать, что она может. Вам ли рассказывать о поиске по форуму ? http://sql.ru/forum/actualsearch.aspx?search=onzero+&sin=0&a=&ma=0&bid=29&dt=-1&s=1&so=1 Там топики не большие, быстро сами найдете... Все это я уже читал, но еще раз спасибо , Я думал, что может быть есть более менее официальная документация Описывающая действия утилиты относительно незакомиченных транзакций, которые она срубила и которые остались в непонятно каком состоянии. Эта длинная транзакция слишком много в базе натворила, и если поднимать сервер который упал нужно ее откатывать или точно знать, что она делала. Только перезапись последнего чекпоинта ( что описанно в ссылках), не даст возможности серверу откатить транзакцию и все данные останутся в противоречивом состоянии. Выявление логической неконсистентности без лога что делала последняя транзакция может занять еще больше времени чем востановление базы с бекапа. з.ы. Сейчас уже проблема представляет чисто академический интерес. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2009, 12:40 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat- з.ы. Сейчас уже проблема представляет чисто академический интерес. Вот что удалось расковырять по структуре записи в логе : Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Меня интересует как вычислить record type и их кодовые обозначения, и прочие поля где есть вопросительные знаки. Если я где то ошибся поправляйте. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.06.2009, 12:51 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
onstat-, Я ценю, столь напряженный и упорный труд с Вашей стороны. Рихтовать журналы транзакций - дело увлекательное и занятное, но только на тестовой системе. Когда-то, мне приходилось подымать продуктивную систему из аналогичного состояния ... без специальных утилит. Если лог на raw-device - будет не просто .... если на файловой системе .... думаю за 15-20 минут ... можно решить проблему ... :) Это случайно, не решение от ProFix ?! Но если у Вас продуктивная система, лучше обратиться в службу поддержки. Телефон Call-центра IBM RRC с территории Украины: 8-800-30-426-30 из Киева: 391-22-00 Желаю удачи! С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2009, 12:46 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
GVF112GVFonstat-, Я ценю, столь напряженный и упорный труд с Вашей стороны. Рихтовать журналы транзакций - дело увлекательное и занятное, но только на тестовой системе. Спасибо за комплимент :) Занятие действительно очень увлекательное. GVF112GVF Когда-то, мне приходилось подымать продуктивную систему из аналогичного состояния ... без специальных утилит. Вы чистили чекпоинт от транзакций? Или как то по другому? GVF112GVF Если лог на raw-device - будет не просто .... если на файловой системе .... думаю за 15-20 минут ... можно решить проблему ... :) Лог на raw в дбпростнастве размером в 8 Гб. ( ОС AIX) Этим все немного усложняется. Я работаю над вопросом что бы сделать все точно и красиво. GVF112GVF Это случайно, не решение от ProFix ?! Нет. GVF112GVF Но если у Вас продуктивная система, лучше обратиться в службу поддержки. Смысла уже нет, в продуктиве уже работает система востановленная с бэкапа на другом сервере. Сейчас эта проблема для меня представляет чисто академический интерес. У меня есть еще 2 дня(выходных) , пока я могу распоряжаться этим дисковым пространством на сторадже. Потом эту базу придется прибить. И мигрировать туда базу которая сейчас работает в продуктиве. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2009, 14:56 |
|
Логические журналы ( вопрос для ГУРУ)
|
|||
---|---|---|---|
#18+
Вы чистили чекпоинт от транзакций? Или как то по другому? Как то по другому ... :) Самый простой вариант, привести CHKPT к стандартному (когда нет открытых транзакций)... для этого нужно хорошо знать структуру CHKPT и формат страницы для логического журнала. В таком варианте, сервер выйдет из Fast Recovery ... но данные (для не завершенных транзакций) будут в не согласованном состоянии ... поскольку сервер считает, что нет открытых транзакций в момент такого CHKPT .... :) Если у Вас IDS 9.40, то такой вариант еще может пройти ... если IDS 10.x или 11.x , тогда все сложнее - следует правильно рассчитать контрольную сумму при модификации страницы ... :) Если Вы не знаете алгоритм, тогда .... только IBM Technical Support ... сможет помочь в данной ситуации. С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
05.06.2009, 22:16 |
|
|
start [/forum/topic.php?fid=44&msg=36024412&tid=1607819]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
59ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 164ms |
0 / 0 |