|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Win2003 EE + Informix 9.40 TC7 Появилась большая проблема в скрипте который работал годами. Вернее судя по всему я только сейчас это заметил (и похолодел) Бэкап логов у меня делает скрипт, который сделан по подобию этого Скрипт пристёгиваю к сообщению. Протокол его отработки тоже. Заполненный лог (tape2) копируется в 2 отдельные папки. Папки обе локальные. Сегодня с ужасом заметил, что отсутствуют некоторые журналы. Например отсутствуют журналы 34673-34676, 34678, 34682, 34685... Никак не могу по протоколу понять в чём дело. То ли команда copy не всегда отрабатывает. То ли отрабатывает в тот момент когда ещё не до конца завершилось формирование tape2. Прошу помощи ибо база продакшн и в случае чего потеря журналов просто недопустима. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 17:34 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Эти журналы отсутствуют в 1-й папке, а во-второй (копирование в которую стоит вторым в очереди, т.е. чуть позже) только 34676 и 34682. Совсем непонятно. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 17:40 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Дядя Жора Появилась большая проблема в скрипте который работал годами. Вернее судя по всему я только сейчас это заметил (и похолодел) Бэкап логов у меня делает скрипт, который сделан по подобию этого Скрипт пристёгиваю к сообщению. Протокол его отработки тоже. Заполненный лог (tape2) копируется в 2 отдельные папки. Папки обе локальные. Сегодня с ужасом заметил, что отсутствуют некоторые журналы. Например отсутствуют журналы 34673-34676, 34678, 34682, 34685... Никак не могу по протоколу понять в чём дело. То ли команда copy не всегда отрабатывает. То ли отрабатывает в тот момент когда ещё не до конца завершилось формирование tape2. А вы заметили, что в каждом таком случае в протоколе отсутствует сообщение об успешном копировани "1 file(s) copied.", но зато на его месте присутствует другое сообщение, типа "Log Backup completed: 34682." ? И очень часто вылазит "2", и что, очень похоже на то, что ваш скрипт просто прерывается следующим вызовом этого же файла по alarm programm. По прошлому опыту помню, что при всей своей внешней простоте батники имеют не только много возможностей , но и специфических особенностей и фичей (сравнимых с багами), которые к тому же могут изменяться в разных версиях Виндовс. Так что такие вещи (типа реентерабельности) требуют очень тщательного тестирования. Дядя ЖораПрошу помощи ибо база продакшн и в случае чего потеря журналов просто недопустима. Для продакшен админу положено уметь и РЕГУЛЯРНО проводить процедуру тестового восстановления (хотя бы раз в пол-года), что бы и уметь это быстро и правильно делать в стрессовой ситуации и чтобы периодически проверять те же механизмы бэкапирования и корректность копий. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:22 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
vasilis А вы заметили, что в каждом таком случае в протоколе отсутствует сообщение об успешном копировани "1 file(s) copied.", но зато на его месте присутствует другое сообщение, типа "Log Backup completed: 34682." ? И очень часто вылазит "2", и что, очень похоже на то, что ваш скрипт просто прерывается следующим вызовом этого же файла по alarm programm. По прошлому опыту помню, что при всей своей внешней простоте батники имеют не только много возможностей , но и специфических особенностей и фичей (сравнимых с багами), которые к тому же могут изменяться в разных версиях Виндовс. Так что такие вещи (типа реентерабельности) требуют очень тщательного тестирования. Я это заметил. Только пока не понимаю как с этим бороться. vasilisДля продакшен админу положено уметь и РЕГУЛЯРНО проводить процедуру тестового восстановления (хотя бы раз в пол-года), что бы и уметь это быстро и правильно делать в стрессовой ситуации и чтобы периодически проверять те же механизмы бэкапирования и корректность копий. Ну, тестовое восстановление я уже годами делаю в среднем раз в неделю, а иногда и чаще. Обычно я поднимаю базу с 0-го уровня (иногда добавляю 1-го, иногда ещё 2-го) и пару журнальчиков ещё накатываю до нужного времени. Удивительно, что за такой промежуток времени, я ни разу не попал на дырку, но это факт. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:34 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Мне даже удаётся эту гадость на тесте воспроизвести. Если я даю несколько раз подряд onmode -l. Пробовал в разные места alarm.bat вставлять искусственные паузы - пока не помогает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:37 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
А выложите-ка часть online.log, в которой описано заполнение и копирование этих журналов: 34673-34676, 34678, 34682, 34685 ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:44 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
ЧемберленА выложите-ка часть online.log, в которой описано заполнение и копирование этих журналов: 34673-34676, 34678, 34682, 34685 С виду ничего странного ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:52 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Это информиксовый лог, а протокол отработки alarm.bat я пристегнул в первом сообщении. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 18:54 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Раньше я думал? что я параноик. У меня восстановление с накатом логов происходит на резервном сервере каждый день. А теперь думаю, что это хорошая болезнь. ;-) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 19:40 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
cprРаньше я думал? что я параноик. У меня восстановление с накатом логов происходит на резервном сервере каждый день. А теперь думаю, что это хорошая болезнь. ;-) Хоть и хорошая, но все таки болезнь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 21:54 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Дядя ЖораМне даже удаётся эту гадость на тесте воспроизвести. Если я даю несколько раз подряд onmode -l. Пробовал в разные места alarm.bat вставлять искусственные паузы - пока не помогает. 1. Do you want to back up the current logical log? (y/n) - зачем копировать текущий журнал ? Он практически пустой и только замедляет процесс бакапирования. Копируйте только заполненный журнал(ы). 2. Журналы лучше сделать большими по размеру, чтобы заполнение следующего (и вызов события 23) не наложилось на время выполнения бэкапа предыдущего лога. 3. По логу видно, что ваш батник вызывается (вызывается он на все события) _и работает_ и на 18 событие (завершение бэкапа). Зачем? 4. Копирование файлов лучше сделать в другом батнике, который вызывать из текущего. Тогда операция копирования уже не будет зависеть от частоты вызовов alarm.bat и от его прерываний. 5. При входе в alarm.bat нужно выставлять некий флаг и сбрасывать его при завершении батника. И при входе в батник обязательно проверять флаг - если он выставлен, значит еще идет обработка батником, вызванным предыдущим вызовом и текущий вызов нужно проигнорировать. В виде флага может быть что угодно - маленький файлик на диске, внешняя переменная окружения и т.п. 6. Мне кажется, что над вашим батником надо поработать серьезнее :) Попробуйте глянуть на DBA_Tools\BAT\event_alarm.bat - он хоть и старенький (2003 года) но там корректно велся журнал всех событий и можно вставить свою обработку на любое событие. Жаль, что у меня уже давно нет сервера - я бы поупражнялся в старом "программировании" батников :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 22:29 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Дядя ЖораМне даже удаётся эту гадость на тесте воспроизвести. Если я даю несколько раз подряд onmode -l. Пробовал в разные места alarm.bat вставлять искусственные паузы - пока не помогает. зачем же замедлять ? Наоборот, батник ускорять надо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.12.2009, 22:31 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
vasilis1. Do you want to back up the current logical log? (y/n) - зачем копировать текущий журнал ? Он практически пустой и только замедляет процесс бакапирования. Копируйте только заполненный журнал(ы). ..... Спасибо. Очень разумные советы. Щас буду экспериментировать и расскажу потом. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.12.2009, 12:15 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
vasilis 3. По логу видно, что ваш батник вызывается (вызывается он на все события) _и работает_ и на 18 событие (завершение бэкапа). Зачем? 4. Копирование файлов лучше сделать в другом батнике, который вызывать из текущего. Тогда операция копирования уже не будет зависеть от частоты вызовов alarm.bat и от его прерываний. 5. При входе в alarm.bat нужно выставлять некий флаг и сбрасывать его при завершении батника. И при входе в батник обязательно проверять флаг - если он выставлен, значит еще идет обработка батником, вызванным предыдущим вызовом и текущий вызов нужно проигнорировать. В виде флага может быть что угодно - маленький файлик на диске, внешняя переменная окружения и т.п. Я отработал только 4-й пункт и всё наладилось. Ещё немного подправил alarm.bat, чтобы не было лишнего вывода на EVENT_CLASS=18-е событие. 5-й слава Богу делать уже не надо. А то стрёмно если вдруг батник сбойнёт и флаг не обнулится. Но если бы не помогло, то пришлось бы и его делать. Спасибо большое! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 10:16 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
Я б все таки, так же увеличил размер логов, как советует vasilis, так как из лога видно что один журнал у Вас заполняется меньше чем за минуту и при пиковой нагрузке на сервер с этим могут так же возникнуть проблемы. Код: plaintext 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 18:25 |
|
Стали теряться журналы
|
|||
---|---|---|---|
#18+
авторБэкап логов у меня делает скрипт, который сделан по подобию этого Таки оригинальный скрипт этой проблемы не имел :) Он (и его UNIX-версии) работают в десятках мест даже при заполнении нескольких журналов в секунду ;) Но версия с блокировкой повторного вызова до завершения тоже где-то имелась, кому-то и по какой-то причине я ее писал... ... |
|||
:
Нравится:
Не нравится:
|
|||
30.12.2009, 19:46 |
|
|
start [/forum/topic.php?fid=44&tid=1607660]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
45ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 144ms |
0 / 0 |