Страницы файла журнала имеют размер 4096 байт каждая, поэтому при установке значения LogFilePages=16384
размер файла журнала составляет 64 МБ каждая. При настройке LogPrimaryFiles=2
и LogSecondaryFiles=8
может быть до 10 файлов журнала на общую сумму 640 МБ. Если файловая система, в которой находятся циклические журналы, меньше этой суммы, она может заполниться.
Оптимальным решением здесь является увеличение размера дискового файла журнала, чтобы он был немного больше, чем требуется экстентам файла журнала. Если это невозможно или вам требуется временное исправление, необходимо изменить размер требования к файлу журнала, уменьшив количество экстентов и перезапустив QMgr. Обратите внимание, что вы можете настроить количество экстентов журнала, но не размер экстентов. Если возникает необходимость изменить параметр LogFilePages=16384
, необходимо перестроить QMgr.
Число и размер экстентов представляют общий объем данных, которые могут быть синхронизированы одновременно, но в большинстве случаев 640 МБ щедро. С точки зрения времени, это также ограничивает максимально возможную продолжительность единицы работы на активном QMgr. Это связано с тем, что ожидающая транзакция будет откатываться, если случится так, что указатель заголовка в файле журнала когда-либо опередит указатель хвоста. Например, предположим, что канал повторяется. Это удерживает пакет сообщений в точке синхронизации и сохраняет этот экстент журнала активным. Когда приложения и другие каналы выполняют свои обычные операции, дополнительные транзакции продвигают указатель головы. В конце концов будут использоваться все экстенты, и хотя ожидающих транзакций может быть очень мало, самая старая из них будет откатана, чтобы освободить этот экстент и продвинуть хвостовой указатель вперед. Если журнал ошибок показывает, что многие транзакции откатываются до свободного места в журнале, вам действительно нужно выделить больше места для раздела файла журнала и увеличить количество экстентов.