Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 archive log / 24 сообщений из 24, страница 1 из 1
10.03.2016, 15:53
    #39189217
Semen Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Здравствуйте всем!
DB2 9.7
На базе данных настроено архивное хранение журналов транзакций на ТСМ. Периодически DB2 сама архивирует и сбрасывает журналы на сервер ТСМ. Но есть команда
Код: plsql
1.
db2 archive log for db MYDB


Хочу понять, для чего она нужна? Я понял, что она принудительно выполняет то, что делает DB2 по мере заполнения активных журналов. Есть ли необходимость выполнять эту команду отдельно? В каких случаях это может пригодится?

С уважением, Семен Попов
...
Рейтинг: 0 / 0
10.03.2016, 19:24
    #39189422
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Semen PopovЗдравствуйте всем!
DB2 9.7
На базе данных настроено архивное хранение журналов транзакций на ТСМ. Периодически DB2 сама архивирует и сбрасывает журналы на сервер ТСМ. Но есть команда
Код: plsql
1.
db2 archive log for db MYDB


Хочу понять, для чего она нужна? Я понял, что она принудительно выполняет то, что делает DB2 по мере заполнения активных журналов. Есть ли необходимость выполнять эту команду отдельно? В каких случаях это может пригодится?

Это очень полезная команда.

Нужна чтобы создать точку консистентности на текущий момент времени в архивных логах.

И удобно, и важно для реализации SLA (RPO) - завершённая транзакция может и до утра, и несколько дней в активных логах провисеть, если нагрузки на запись на базе особо нет, а так пнули, и оно в TSM (ну или на другой диск, а затем и сервер) ушло.

Но вообще, всё хорошо в документации описано:
http://www.ibm.com/support/knowledgecenter/SSEPGG_10.5.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0004476.html
...
Рейтинг: 0 / 0
11.03.2016, 09:02
    #39189615
Semen Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
CawaSPb, прежде чем обратиться в форум, я прочитал описание команды на сайте IBM. С английским у меня не очень, поэтому решил попросить пояснений, что называется на русском, простом языке. Я сразу для себя сделал вывод, что эта команда принудительно архивирует активные журналы на ту отметку времени, в которую она запускается. И это бывает полезным, когда на базе нет активности, и DB2 несколько дней не архивирует журналы на ТСМ. Поэтому мы и запускаем эту команду, чтобы обеспечить раз в период отметку обязательного принудительного сохранения для того, чтобы, если потребуется, могли на любое время до этой отметки восстановиться. Я правильно понял?
...
Рейтинг: 0 / 0
11.03.2016, 12:58
    #39189931
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Semen Popov,

ARCHIVE LOG не создает точек консистенций. Т.е. не надо думать, что база станет консистентной в этот момент времени, т.к. поток транзакций, что-то в базе меняющих, не прерывается.
Эта команда закрывает текущий активный журнал, обрезает его, и этот журнал таким образом становится доступным для архивирования.
Точка во времени, когда вы выполнили команду, может использоваться при дальнейшем rollforward. Если после вашей команды файл журнала действительно заархивировался успешно, вы точно знаете, что эту точку можно смело использовать в rollforward, т.к. у вас есть соответствующий журнал, где эта точка есть.
Но, если в этом журнале или предыдущих есть незавершенные транзацкии, то при останове rollforward после наката до этой точки все эти транзакции будут откачены.
...
Рейтинг: 0 / 0
11.03.2016, 14:17
    #39190045
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Марк, точку консистенции с точки зрения приложения (учитывая только завершённые на этот момент времени транзакции).

Семён, да, всё правильно поняли.
Полезна не только для принудительного сохранения в logarchmeth1/2 активных журналов (== завершённых транзакций), но и при таких сценариях:
I. Подготовка копии БД на текущий момент времени (чтобы собрать все завершённые транзакции).

II. Подготовка "переезда" БД - а) закрываем доступ к БД б) собираем все законченные транзакции в архивных логах в) ...


2 Марк, ещё вот:
Проясни, пожалуйста ещё такую штуку. Могут ли быть в архивированных логах те или части активных транзакций при logsecond <> -1?
Т.е. могут ли после выполнения принудительного архивирования эти журналы понадобиться для выполнения crash recovery? Если нет, то означает ли это... впрочем, не буду забегать вперёд.
...
Рейтинг: 0 / 0
11.03.2016, 17:33
    #39190309
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
CawaSPbМогут ли быть в архивированных логах те или части активных транзакций при logsecond <> -1?
Т.е. могут ли после выполнения принудительного архивирования эти журналы понадобиться для выполнения crash recovery? Если нет, то означает ли это... впрочем, не буду забегать вперёд.
Принудительное архивирование влияет только на то, когда именно в журнал прекращается запись и он становится архивным, т.е. доступным для архивирования.
В любом случае правило такое - если журнал нужен для crash recovery, он считается активным. Даже если он уже заполнился или явно обрезался командой archive log, т.е. стал архивным и отправился в архив.
Поэтому, ответ на вопрос "Могут ли быть в архивированных логах части активных транзакций": да, могут. И это не зависит от logsecond.

Разница в зависимости от logsecond:
При logsecond = -1 заархивированный журнал, даже если он нужен для crash recovery, убирается из активного пути.
При другом значении журнал, даже если он закрылся и отправился в архив, остается в активном пути, если он нужен для crash recovery.
...
Рейтинг: 0 / 0
11.03.2016, 17:50
    #39190321
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Mark BarinsteinПри logsecond = -1 заархивированный журнал, даже если он нужен для crash recovery, убирается из активного пути.
При другом значении журнал, даже если он закрылся и отправился в архив, остается в активном пути, если он нужен для crash recovery.
Ага! А я гадал, как оно реализованно (ну не переписывать же часть лога по незакрытым транзакциям в новый журнал). Логично и просто.

Спасиб!
...
Рейтинг: 0 / 0
11.03.2016, 22:30
    #39190417
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
CawaSPb
Могут ли быть в архивированных логах те или части активных транзакций при logsecond <> -1?
Т.е. могут ли после выполнения принудительного архивирования эти журналы понадобиться для выполнения crash recovery
Я так однажды попал на 27 часов крэш-рекавери.
С тех пор никакого infinite logging, как бы там кому бы там этого не хотелось.
...
Рейтинг: 0 / 0
11.03.2016, 23:48
    #39190427
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Mark BarinsteinПри logsecond = -1 заархивированный журнал, даже если он нужен для crash recovery, убирается из активного пути.
При другом значении журнал, даже если он закрылся и отправился в архив, остается в активном пути, если он нужен для crash recovery.
Ну, вообще-то, у меня никогда не logsecond = -1, но на практике логи из активного пути уходили и неприятные ощущения по полной программе я получал. Так что я сделал вывод, что имеет смысл следить за коннектами и при длительной неактивность рвать. Или вообще просто рвать всех раз в сутки, по вечерам - тем, кто может себе такое позволить. Длительно незакрытая транзакция - путь к беде, "archive log for" штука полезная, но от незакрытых транзакций не спасёт. А ещё я перестал использовать для архивных логов Db2-шную компрессию.
...
Рейтинг: 0 / 0
14.03.2016, 07:36
    #39191059
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Про -1 в logsecondary наврал. Хотя мне и непонятно, откуда он там взялся, ибо я был уверен, что я задавал значение.
...
Рейтинг: 0 / 0
14.03.2016, 12:31
    #39191268
CawaSPb
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
mitekЯ так однажды попал на 27 часов крэш-рекавери.
С тех пор никакого infinite logging, как бы там кому бы там этого не хотелось.
И это правильно! (хотя дополнительные средства слежения и есть - max_log и num_log_span).

Один момент - "ни хотелось", извиняюсь за занудство.
...
Рейтинг: 0 / 0
14.03.2016, 16:33
    #39191551
Semen Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Спасибо, ребята. Правильно ли я понял, что эту команду лучше запускать, когда с базой никто не работает (офлайн)? К чему может привести запуск этой команде в режиме онлайн?
...
Рейтинг: 0 / 0
14.03.2016, 17:41
    #39191618
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Semen Popov,

Запускать ее надо тогда, когда этого требуют ваши SLA, если они вообще есть в этой области. Не важно, кто и как работает с системой в данный момент.
Если их, этих требований, нет - не запускайте ее вообще.
...
Рейтинг: 0 / 0
15.03.2016, 11:35
    #39192049
Semen Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Mark Barinstein, мы уже решили, что будем делать ежедневное принудительное архивирование журналов по состоянию на 22ч для того, чтобы в случае сбоя мы имели возможность восстановить бэкап и накатить журналы по состоянию на 22ч. Теперь возникает вопрос, можно ли запускать эту команду в режиме онлайн или необходимо отрубить все соединения с базой?
...
Рейтинг: 0 / 0
15.03.2016, 13:07
    #39192209
mahaon2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Semen PopovТеперь возникает вопрос, можно ли запускать эту команду в режиме онлайн или необходимо отрубить все соединения с базой?

Ничего не отрубаю. Всё проходит без ошибок ежедневно.
...
Рейтинг: 0 / 0
15.03.2016, 14:09
    #39192293
Semen Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
mahaon2000, спасибо. Поступим так же
...
Рейтинг: 0 / 0
24.03.2016, 11:08
    #39199373
db2 archive log
Добрый день! Марк, скажите пожалуйста, в чем может быть причина, что после восстановления онлайн бекапа с tsm на тестовом сервере, на базе запускается реорганизация таблиц?
При копировании базы данных, сразу после backup обычно запускаем реорганизацию. Может ли это как-то быть связано?
...
Рейтинг: 0 / 0
24.03.2016, 11:28
    #39199398
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Проходила мимо,

Добрый день.

Она что, сама запускается?
У вас включена автоматическая реорганизация параметрами в базе?
Покажите сообщение из db2diag.log о ней.
...
Рейтинг: 0 / 0
24.03.2016, 11:45
    #39199428
db2 archive log
Марк, в том то и дело, что автообслуживание полностью отключено. Я восстановила базу, накатила логи, перезагрузила сервер и запустила установку версии и только через пару часов, удивившись, что скрипты идут так долго, обратила внимание, что реорг идет еще и по другим таблицам например SYSIBM .SYSROUTINES или по схемам PF, чего в принципе в мои планы не входило.
...
Рейтинг: 0 / 0
24.03.2016, 11:46
    #39199431
db2 archive log
Проходила мимо,
...
Рейтинг: 0 / 0
24.03.2016, 11:47
    #39199434
db2 archive log
...
Рейтинг: 0 / 0
24.03.2016, 21:48
    #39200137
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Проходила мимо,

Индексы могут перестраиваться, когда rollforward встретил, например (если logindexbuild выключен):
- offline table/index reorg
- import replace
- load с index rebuild
- create index
...
Рейтинг: 0 / 0
30.03.2016, 09:47
    #39203843
db2 archive log
Добрый день, Марк!
Параметр logindexbuild действительно был выключен. Вчера провела эксперимент, включила с галочкой Изменить когда доступно (динамически), в результате при проведения обслуживания базы, пошли ошибки:
SQL0964C Журнал транзакций для базы данных заполнен. SQLSTATE=57011
SQL2310N Программа не может составить статистику. Возвращен код ошибки "-964".
Физически места на диска достаточно
...
Рейтинг: 0 / 0
31.03.2016, 10:52
    #39204869
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
db2 archive log
Проходила мимоПараметр logindexbuild действительно был выключен. Вчера провела эксперимент, включила с галочкой Изменить когда доступно (динамически), в результате при проведения обслуживания базы, пошли ошибки:
SQL0964C Журнал транзакций для базы данных заполнен. SQLSTATE=57011
SQL2310N Программа не может составить статистику. Возвращен код ошибки "-964".
Физически места на диска достаточно
Добрый день.

Да, при включении журналирования операций с индексами требования к месту в журнале могут серьезно вырасти.
У вас переполняется журнал транзакций.
Либо подумайте, нужно ли вам все время реорганизовывать таблицы, либо увеличивайте размер журнала.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / db2 archive log / 24 сообщений из 24, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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