|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
Здравствуйте, мне для тестирования продукта нужно создать базу данных DB2 v11 (можно 10) только с активными журналами. задаю LOGARCHMETH1 = DISK:/db2home/users/d111a1/lam1/ Но очень важно поймать момент, перед самым началом архивирования журналов, чтобы папка lam1 была пустой. Подскажите, пожалуйста, какие параметры базы данных задать, чтобы было активных журналов штук 8 перед началом архивирования. Тип данных не принципиален. Спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 10:26 |
|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
Первый раз, Добрый день. В общем случае DB2 архивирует журналы по мере их заполнения. Т.е. как только файл заполнился, он может быть заархивирован, и это не зависит от количества активных файлов. Параметры базы для управления файлами журналов: logfilsiz - размер одного файла в 4K logprimary - кол-во первичных файлов (распределены всегда) logsecond - кол-во вторичных файлов (распределяются при необходимости) Из них только последний можно изменять в онлайне. Изменения остальных требуют деактивации/активации базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 11:07 |
|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
Марк, вы говорите, журнал архивируется, как только заполнился. Пытаясь организовать нужный мне тестовый случай, я меняла количество транзакций, размер tablespace-а и прочими данными. Но каждый раз получала один первый журнал (или несколько) в архивных и штук 12 журналов в активных. Вот параметры базы: LOGBUFSZ = 2149 LOGFILSIZ = 1024 LOGPRIMARY = 13 LOGSECOND = 12 Вопрос: получается, что 10-12 активных журналов созданы были, когда начался процесс архивирования. А как же, как только -так сразу? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 13:04 |
|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
Первый раз, Я не понимаю, в чем состоит ваш тест, и что вы хотите сделать. Еще раз про описание процесса: 1. Сначала у вас 13 активных журналов (LOGPRIMARY) с номерами 0-12. Архивных файлов нет. 2. Вы запускаете транзакции, они пишутся в файл 0, он заполняется. Как только он заполнился, начинается запись в файл 1 и т.д. 3. DB2 определило, что файл 0 заполнен, и его можно копировать в архивный путь (архивировать). В этот момент у вас могут быть в активном пути файлы 0-12, в архивном - 0. 4. После этого файл 0 может еще какое-то время находится в активном пути, пока он не станет ненужным для автоматического восстановления после сбоя, который теоретически может произойти. Когда он становится ненужным для этого процесса, то он в активном пути переименовывается в файл с номером 13 и очищается. В этот момент у вас в активном пути файлы 1-13, в архивном - 0 и, может быть, файлы со следующими номерами, если они уже успели заполниться. 5. Далее процесс повторяется для каждого файла с наименьшим номером в активном пути по мере поступления новых транзакций. Теперь скажите: 1. Что у вас работает не так, как я описал? 2. В чем состоит ваш тест? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 13:35 |
|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
1) все так, просто этот процесс не был мне понятен. 2) мне нужно остановить транзакции в тот момент, когда начнется архивирование первого журнала. Мне нужны только активные журналы в базе. На этот, нужный мне момент, там не должно быть архивных. Когда нужно остановить? скажем когда запонится 11-й журнал? Note: по понятным причинам я не могу описать вам сам тест. А приготовить к нему базу данных составило для меня сложность в определении точки останова до начала архивирования журналов. Спасибо, Маргарита ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 14:05 |
|
Как поймать точку начала архивирования журналов
|
|||
---|---|---|---|
#18+
Первый раз2) мне нужно остановить транзакции в тот момент, когда начнется архивирование первого журнала. Мне нужны только активные журналы в базе. На этот, нужный мне момент, там не должно быть архивных. Когда нужно остановить? скажем когда запонится 11-й журнал? Как я уже писал, момент архивирования файла журнала не записит от кол-ва журналов. Можете попробовать как-то так, запуская время от времени запрос: Код: sql 1. 2. 3. 4.
Когда процент использования лога будет подходить к 100%, остановите транзакции. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2017, 14:43 |
|
|
start [/forum/topic.php?fid=43&fpage=9&tid=1600440]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
42ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 144ms |
0 / 0 |