powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как поймать точку начала архивирования журналов
6 сообщений из 6, страница 1 из 1
Как поймать точку начала архивирования журналов
    #39467576
Первый раз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте, мне для тестирования продукта нужно создать базу данных DB2 v11 (можно 10) только с активными журналами.
задаю LOGARCHMETH1 = DISK:/db2home/users/d111a1/lam1/
Но очень важно поймать момент, перед самым началом архивирования журналов, чтобы папка lam1 была пустой.
Подскажите, пожалуйста, какие параметры базы данных задать, чтобы было активных журналов штук 8 перед началом архивирования. Тип данных не принципиален.
Спасибо.
...
Рейтинг: 0 / 0
Как поймать точку начала архивирования журналов
    #39467629
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый раз,

Добрый день.

В общем случае DB2 архивирует журналы по мере их заполнения. Т.е. как только файл заполнился, он может быть заархивирован, и это не зависит от количества активных файлов.

Параметры базы для управления файлами журналов:
logfilsiz - размер одного файла в 4K
logprimary - кол-во первичных файлов (распределены всегда)
logsecond - кол-во вторичных файлов (распределяются при необходимости)
Из них только последний можно изменять в онлайне. Изменения остальных требуют деактивации/активации базы.
...
Рейтинг: 0 / 0
Как поймать точку начала архивирования журналов
    #39467786
Первый раз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Марк, вы говорите, журнал архивируется, как только заполнился.
Пытаясь организовать нужный мне тестовый случай, я меняла количество транзакций, размер tablespace-а и прочими данными. Но каждый раз получала один первый журнал (или несколько) в архивных и штук 12 журналов в активных.
Вот параметры базы:
LOGBUFSZ = 2149
LOGFILSIZ = 1024
LOGPRIMARY = 13
LOGSECOND = 12
Вопрос: получается, что 10-12 активных журналов созданы были, когда начался процесс архивирования. А как же, как только -так сразу?
...
Рейтинг: 0 / 0
Как поймать точку начала архивирования журналов
    #39467822
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый раз,

Я не понимаю, в чем состоит ваш тест, и что вы хотите сделать.

Еще раз про описание процесса:
1. Сначала у вас 13 активных журналов (LOGPRIMARY) с номерами 0-12. Архивных файлов нет.
2. Вы запускаете транзакции, они пишутся в файл 0, он заполняется. Как только он заполнился, начинается запись в файл 1 и т.д.
3. DB2 определило, что файл 0 заполнен, и его можно копировать в архивный путь (архивировать). В этот момент у вас могут быть в активном пути файлы 0-12, в архивном - 0.
4. После этого файл 0 может еще какое-то время находится в активном пути, пока он не станет ненужным для автоматического восстановления после сбоя, который теоретически может произойти. Когда он становится ненужным для этого процесса, то он в активном пути переименовывается в файл с номером 13 и очищается. В этот момент у вас в активном пути файлы 1-13, в архивном - 0 и, может быть, файлы со следующими номерами, если они уже успели заполниться.
5. Далее процесс повторяется для каждого файла с наименьшим номером в активном пути по мере поступления новых транзакций.

Теперь скажите:
1. Что у вас работает не так, как я описал?
2. В чем состоит ваш тест?
...
Рейтинг: 0 / 0
Как поймать точку начала архивирования журналов
    #39467841
Первый раз
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
1) все так, просто этот процесс не был мне понятен.
2) мне нужно остановить транзакции в тот момент, когда начнется архивирование первого журнала. Мне нужны только активные журналы в базе. На этот, нужный мне момент, там не должно быть архивных. Когда нужно остановить? скажем когда запонится 11-й журнал?

Note: по понятным причинам я не могу описать вам сам тест. А приготовить к нему базу данных составило для меня сложность в определении точки останова до начала архивирования журналов.

Спасибо,
Маргарита
...
Рейтинг: 0 / 0
Как поймать точку начала архивирования журналов
    #39467868
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Первый раз2) мне нужно остановить транзакции в тот момент, когда начнется архивирование первого журнала. Мне нужны только активные журналы в базе. На этот, нужный мне момент, там не должно быть архивных. Когда нужно остановить? скажем когда запонится 11-й журнал?
Как я уже писал, момент архивирования файла журнала не записит от кол-ва журналов.

Можете попробовать как-то так, запуская время от времени запрос:
Код: sql
1.
2.
3.
4.
select 100*l.total_log_used/(int(c.value)*4096) pst_log_used
--, l.current_active_log, l.first_active_log, l.last_active_log, l.log_held_by_dirty_pages
from table(mon_get_transaction_log(-1)) l, sysibmadm.dbcfg c
where c.name = 'logfilsiz'


Когда процент использования лога будет подходить к 100%, остановите транзакции.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Как поймать точку начала архивирования журналов
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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