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


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

С уважением, Семен Попов
...
Рейтинг: 0 / 0
db2 archive log
    #39189422
CawaSPb
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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
db2 archive log
    #39189615
Semen Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CawaSPb, прежде чем обратиться в форум, я прочитал описание команды на сайте IBM. С английским у меня не очень, поэтому решил попросить пояснений, что называется на русском, простом языке. Я сразу для себя сделал вывод, что эта команда принудительно архивирует активные журналы на ту отметку времени, в которую она запускается. И это бывает полезным, когда на базе нет активности, и DB2 несколько дней не архивирует журналы на ТСМ. Поэтому мы и запускаем эту команду, чтобы обеспечить раз в период отметку обязательного принудительного сохранения для того, чтобы, если потребуется, могли на любое время до этой отметки восстановиться. Я правильно понял?
...
Рейтинг: 0 / 0
db2 archive log
    #39189931
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Semen Popov,

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

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

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


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

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

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

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

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

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

Добрый день.

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

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

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


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