Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Logical Log-и и транзакции / 17 сообщений из 17, страница 1 из 1
29.05.2007, 00:28
    #34556532
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Проясните пожалуйста, правильно ли я понимаю ситуацию, идет длинная транзакция:
1. Заполняется Logical Log -> транзакция спокойно грузит данные в следующий Logical Log.
2. Заполнены все Logical Log-и -> сервер останавливает все транзакции до тех пор, пока Logical Log не будет скинут на ленту, время транзакции продолжает тикать и может начаться откат по Long transaction
3. Если Logical log-и скидываются в dev/null, транзакция заполнила все Logical Log-и c перехлестом, и пошел откат, то в каком состоянии окажется сервер?
4. Как выбрать количество и объем Logical Log-ов (понятно, что общий объем должен вмещать самую длинную транзакцию, что время заполнения всего пула Logical Log-ов должно быть больше, чем время сброса одного Logical Log на ленту (диск), что чем меньше объем отдельного Logical Log-а, тем надежнее, т.к. чаще записывается на ленту (диск), но вот как (из каких критериев) определить минимально-оптимальный объем Logical Log-а)?
...
Рейтинг: 0 / 0
29.05.2007, 08:19
    #34556723
Чемберлен
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Определенные представления о ситуации есть, но они неполны и, соответственно, далеки от правильного понимания.

Надо читать документацию , всякие публикации IBM и использовать Google. Вкратце и приблизительно:

Чтобы перейти на следующий журнал, он должен быть свободен. Журнал не свободен, если:

- он использован, но не скопирован (это вы учитываете)
- он содержит запись о последней контрольной точке (этим сервер сам занимается)
- он содержит записи активной транзакции (см. onstat -x)

Вот как раз последний пункт вы и не учитываете. Сколько бы ни было журналов и как быстро бы вы их не копировали, длинная транзакция возможна.
...
Рейтинг: 0 / 0
29.05.2007, 09:14
    #34556803
Тан
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
А еще вы не учитываете очень важный факт - откат транзакции тоже пишется в журнал.
Нет свободных журналов - невозможно откатить транзакцию
...
Рейтинг: 0 / 0
29.05.2007, 23:32
    #34559614
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)?
...
Рейтинг: 0 / 0
30.05.2007, 08:41
    #34559895
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
bk0010Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)?Сделай один logdbs, и в него сложи логов чтобы общего объема хватило на сутки. Размер лога сделай ну по 50 мег.
...
Рейтинг: 0 / 0
30.05.2007, 11:56
    #34560593
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Вот можно сделать так: два dbspace для логического журнала, делать файлы журнала чередуя dbspace, т.е. файл 1 журнала на dbspace1, 2 на dbspace2, 3 снова на dbspace1 и т.д.
Это даст вот что: пока очередной файл журнала бэкапится, транзакции без задержек пишутся в другой файл на другом диске. Т.е. имеем разгрузку IO при такой схеме на 2 диска (нет конкуренции между чтением для бэкапа и записью для транзакций за диски).
Размер одного лога (файла журнала) как сказад Денис 50 Мб достаточно. Смысл делать больше имеет только если они заполняются очень часто.
...
Рейтинг: 0 / 0
30.05.2007, 11:58
    #34560603
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Схема которую я описал выше даст преимущество конечно только если оба dbspace находятся на разных дисках.
...
Рейтинг: 0 / 0
30.05.2007, 12:18
    #34560703
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Можно выбрать размер журнала например такой чтобы в среднем каждые 20 мин. переключались.
Т.е. если логов в сутки уходит 2Г: 2*1024/24/3 ~ 28 мег.
...
Рейтинг: 0 / 0
30.05.2007, 13:01
    #34560877
Logical Log-и и транзакции
bk0010Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)?
Размер стоит определять исходя из загруженности Вашей системы, так, чтобы журналы заполнялись не слишком быстро, хотя бы за несколько минут, но и не слишком медленно: если журнал слишком велик, то есть риск потери транзакций в случае катастрофы, поскольку бэкапится _заполненный_ журнал. Иногда регулярно переключаются (из крона) на новый журнал, не дожидаясь заполнения предыдущего, чтобы обеспечить резервное копирование журнала.
Их количество также определяется исходя из конкретных условий (размеров и длительности транзакций, качеством присмотра за сервером и т.д.). Руководствуясь желанием спокойно спать по ночам, можно настроить их, например, на неделю.
Можно встретить системы с размером журнала и 50МБ, и 150Мб, а для каких-то систем и 4Мб будет много. Число журналов в любом случае должно измеряться десятками, но можно говорить и о сотнях.
Ещё раз, всё это решающим образом зависит от особенностей системы.
Обычно для критических dbspace'ов рекомендуют RAID-1 (зеркало) для большей отказоустойчивости; при большой нагрузке можно и по разным дискам (dbspace'ам) разнести. Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим.
...
Рейтинг: 0 / 0
30.05.2007, 15:25
    #34561550
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Александр Спирин.... Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим.Какая разница кто помрет: данные, рут, или логи?
...
Рейтинг: 0 / 0
30.05.2007, 17:16
    #34562108
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Журавлев Денис Александр Спирин.... Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим.Какая разница кто помрет: данные, рут, или логи?
если "помрут данные", то у тебя останется полузаполненный лог (который еще не заархивировался) и его можно будет использовать при восстановлении из архива и доката транзакций до самого момента сбоя.
...
Рейтинг: 0 / 0
30.05.2007, 20:21
    #34562631
bk0010
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Спасибо за ответы. Еще вопрос: у вас логи уходят на ленту или в файл? И правда ли, что 11 Informix сможет сам создавать логи, если существующих не хватает (где слышал не помню, но никак не найду подтверждения)?
...
Рейтинг: 0 / 0
31.05.2007, 07:29
    #34563069
vvg16
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Динамическое добавление журналов есть в Informix`е уже с девятки.
Ниже строки из стандартного из стандартного onconfig`а

...
# Dynamic Logging
# DYNAMIC_LOGS:
# 2 : server automatically add a new logical log when necessary. (ON)
# 1 : notify DBA to add new logical logs when necessary. (ON)
# 0 : cannot add logical log on the fly. (OFF)
#
# When dynamic logging is on, we can have higher values for LTXHWM/LTXEHWM,
# because the server can add new logical logs during long transaction rollback.
# However, to limit the number of new logical logs being added, LTXHWM/LTXEHWM
# can be set to smaller values.
#
# If dynamic logging is off, LTXHWM/LTXEHWM need to be set to smaller values
# to avoid long transaction rollback hanging the server due to lack of logical
# log space, i.e. 50/60 or lower.
...
...
Рейтинг: 0 / 0
31.05.2007, 08:34
    #34563135
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
vasilisесли "помрут данные", то у тебя останется полузаполненный лог (который еще не заархивировался) и его можно будет использовать при восстановлении из архива и доката транзакций до самого момента сбоя.логично.
...
Рейтинг: 0 / 0
31.05.2007, 08:49
    #34563164
Andron
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
bk0010... И правда ли, что 11 Informix сможет сам создавать логи, если существующих не хватает (где слышал не помню, но никак не найду подтверждения)?

Подтверждение динамическому добавлению журналов (начиная с 9 версии) можно найти в документации
...
Рейтинг: 0 / 0
31.05.2007, 09:03
    #34563193
Журавлев Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
и добавляет он динамически только в одном случае: когда не хватает логов для отката длинной транзакции.
...
Рейтинг: 0 / 0
31.05.2007, 15:22
    #34564958
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Logical Log-и и транзакции
Журавлев Дениси добавляет он динамически только в одном случае: когда не хватает логов для отката длинной транзакции.
И, к сожалению, этот механизм не всегда корректно работает, по крайней мере в 9.30,
т.е. добавит пару журналов. а потом впадает в прострацию из которой трудно потом выйти...
С другой стороны, видел несколько раз ситуации, когда такие динамически добавленные журналы заполняли собой все свободное пространство (в том числе и в rootdbs), о чем местный "админ" даже не подозревает, что, естественно, приводит потом к плачевным итогам...
Т.ч. я рекомендую, обычно, выключать этот механизм на стабильных системах (там, где длинная транзакция явно говорит об ошибке прикладной системы и ее раннее обнаружение и откат только на пользу).
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Logical Log-и и транзакции / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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