Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Проясните пожалуйста, правильно ли я понимаю ситуацию, идет длинная транзакция: 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-а)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 00:28 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Определенные представления о ситуации есть, но они неполны и, соответственно, далеки от правильного понимания. Надо читать документацию , всякие публикации IBM и использовать Google. Вкратце и приблизительно: Чтобы перейти на следующий журнал, он должен быть свободен. Журнал не свободен, если: - он использован, но не скопирован (это вы учитываете) - он содержит запись о последней контрольной точке (этим сервер сам занимается) - он содержит записи активной транзакции (см. onstat -x) Вот как раз последний пункт вы и не учитываете. Сколько бы ни было журналов и как быстро бы вы их не копировали, длинная транзакция возможна. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 08:19 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
А еще вы не учитываете очень важный факт - откат транзакции тоже пишется в журнал. Нет свободных журналов - невозможно откатить транзакцию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 09:14 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2007, 23:32 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
bk0010Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)?Сделай один logdbs, и в него сложи логов чтобы общего объема хватило на сутки. Размер лога сделай ну по 50 мег. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 08:41 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Вот можно сделать так: два dbspace для логического журнала, делать файлы журнала чередуя dbspace, т.е. файл 1 журнала на dbspace1, 2 на dbspace2, 3 снова на dbspace1 и т.д. Это даст вот что: пока очередной файл журнала бэкапится, транзакции без задержек пишутся в другой файл на другом диске. Т.е. имеем разгрузку IO при такой схеме на 2 диска (нет конкуренции между чтением для бэкапа и записью для транзакций за диски). Размер одного лога (файла журнала) как сказад Денис 50 Мб достаточно. Смысл делать больше имеет только если они заполняются очень часто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 11:56 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Схема которую я описал выше даст преимущество конечно только если оба dbspace находятся на разных дисках. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 11:58 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Можно выбрать размер журнала например такой чтобы в среднем каждые 20 мин. переключались. Т.е. если логов в сутки уходит 2Г: 2*1024/24/3 ~ 28 мег. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 12:18 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
bk0010Спасибо за отклики (особенно за ссылки). А не могли бы вы сказать какой объем у ваших Logical Log-ов, сколько их у вас и есть ли смысл распологать их в разных dbspace-ах (понятно, что из rootdbs все надо убрать, но есть ли смысл разносить их на разные dbspace на одном RAID-е)? Размер стоит определять исходя из загруженности Вашей системы, так, чтобы журналы заполнялись не слишком быстро, хотя бы за несколько минут, но и не слишком медленно: если журнал слишком велик, то есть риск потери транзакций в случае катастрофы, поскольку бэкапится _заполненный_ журнал. Иногда регулярно переключаются (из крона) на новый журнал, не дожидаясь заполнения предыдущего, чтобы обеспечить резервное копирование журнала. Их количество также определяется исходя из конкретных условий (размеров и длительности транзакций, качеством присмотра за сервером и т.д.). Руководствуясь желанием спокойно спать по ночам, можно настроить их, например, на неделю. Можно встретить системы с размером журнала и 50МБ, и 150Мб, а для каких-то систем и 4Мб будет много. Число журналов в любом случае должно измеряться десятками, но можно говорить и о сотнях. Ещё раз, всё это решающим образом зависит от особенностей системы. Обычно для критических dbspace'ов рекомендуют RAID-1 (зеркало) для большей отказоустойчивости; при большой нагрузке можно и по разным дискам (dbspace'ам) разнести. Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 13:01 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Александр Спирин.... Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим.Какая разница кто помрет: данные, рут, или логи? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 15:25 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Журавлев Денис Александр Спирин.... Не стоит в одном dbspace'е размещать и данные, и журналы, поскольку dbspace с журналами является критическим.Какая разница кто помрет: данные, рут, или логи? если "помрут данные", то у тебя останется полузаполненный лог (который еще не заархивировался) и его можно будет использовать при восстановлении из архива и доката транзакций до самого момента сбоя. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 17:16 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Спасибо за ответы. Еще вопрос: у вас логи уходят на ленту или в файл? И правда ли, что 11 Informix сможет сам создавать логи, если существующих не хватает (где слышал не помню, но никак не найду подтверждения)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.05.2007, 20:21 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Динамическое добавление журналов есть в 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. ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 07:29 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
vasilisесли "помрут данные", то у тебя останется полузаполненный лог (который еще не заархивировался) и его можно будет использовать при восстановлении из архива и доката транзакций до самого момента сбоя.логично. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 08:34 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
bk0010... И правда ли, что 11 Informix сможет сам создавать логи, если существующих не хватает (где слышал не помню, но никак не найду подтверждения)? Подтверждение динамическому добавлению журналов (начиная с 9 версии) можно найти в документации ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 08:49 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
и добавляет он динамически только в одном случае: когда не хватает логов для отката длинной транзакции. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 09:03 |
|
||
|
Logical Log-и и транзакции
|
|||
|---|---|---|---|
|
#18+
Журавлев Дениси добавляет он динамически только в одном случае: когда не хватает логов для отката длинной транзакции. И, к сожалению, этот механизм не всегда корректно работает, по крайней мере в 9.30, т.е. добавит пару журналов. а потом впадает в прострацию из которой трудно потом выйти... С другой стороны, видел несколько раз ситуации, когда такие динамически добавленные журналы заполняли собой все свободное пространство (в том числе и в rootdbs), о чем местный "админ" даже не подозревает, что, естественно, приводит потом к плачевным итогам... Т.ч. я рекомендую, обычно, выключать этот механизм на стабильных системах (там, где длинная транзакция явно говорит об ошибке прикладной системы и ее раннее обнаружение и откат только на пользу). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2007, 15:22 |
|
||
|
|

start [/forum/topic.php?fid=44&msg=34560593&tid=1608384]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
71ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
71ms |
get tp. blocked users: |
2ms |
| others: | 252ms |
| total: | 450ms |

| 0 / 0 |
