powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
22 сообщений из 22, страница 1 из 1
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875019
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
видел упоминания, что в дорогих редакциях DB2 есть интеграция со снэпшотами хранилищ для мгновеннчых бэкапов

думаю, как бы подобное сделать для ExpressC

понятно можно сделать с остановкой DB2

db2stop;
umount /home;
sync;
ssh zfs_storage "zfs create snapshot ....; sync;";
mount /home;
db2start;

а как бы проделать подобный фокус без остановки?

наверно даже просто
ssh zfs_storage "zfs create snapshot ...."
позволит получить некий работоспособный снимок данных, возможно, с потерей последних нескольких минут работы
в случае zfs rollback - получим состояние похожее на состояние базы после hard reset, которое db2 обычно благополучно переживает за счет транзакционного recovery лога

но может быть, можно как то повысить надежность второго способа, например, делать quiesce;
db2 quiesce db immediate force connections; sync;
а потом снэпшот?

или есть более правильные методы?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875035
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересно, будет ли работать DB2 Express C в chroot-ах, чтобы не городить несколько виртуалок?
можно было бы автоматом новые chroot из шаблона наштамповать

и потом один Federation их всех (если они на разных IP или портах одного IP) объеденит в одну большую базу (больше 15гиг) с относительно большим количеством вычислительных ресурсов?
но производительность federation, наверно, не ахти даже для локальных соединений на localhost?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875040
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
прям почти какой-то колхозный pure scale :)
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875054
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanyock2(больше 15гиг)

т.е. ТБ
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875150
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2видел упоминания, что в дорогих редакциях DB2 есть интеграция со снэпшотами хранилищ для мгновеннчых бэкапов

думаю, как бы подобное сделать для ExpressC
...
или есть более правильные методы?Почитайте тут про Split mirror .
В Express-C это тоже должно работать.
sanyock2и потом один Federation их всех (если они на разных IP или портах одного IP) объеденит в одну большую базу (больше 15гиг) с относительно большим количеством вычислительных ресурсов?
но производительность federation, наверно, не ахти даже для локальных соединений на localhost?Федерацию в Express-C DB2 LUW <-> DB2 LUW делать можно. Вы можете завести для каждого экземпляра отдельную виртуалку, и там внетри каждая Express-C будет использовать 2 ядра и 16 GB памяти. И объединить это всё федерацией.
Не могу сказать, есть ли всё это смысл делать, и какая там производительность будет. Скорее всего, будет сильно зависить от запросов в системе.
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #38875170
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinПочитайте тут про Split mirror .
В Express-C это тоже должно работать.


действительно работает в Express C 10.5, спасибо

наверно, должно получиться, что-то типа:

db2 connect to test;
db2 flush bufferpools all;
db2 set write suspend for database;
sync;
ssh zfs_storage "zfs create snapshot ....; sync;"
db2 set write resume for database;

чудненько,
и уже после resume можно отправлять снэпшоты на запасное хранилище
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033033
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinsanyock2видел упоминания, что в дорогих редакциях DB2 есть интеграция со снэпшотами хранилищ для мгновеннчых бэкапов

думаю, как бы подобное сделать для ExpressC
...
или есть более правильные методы?Почитайте тут про Split mirror .
В Express-C это тоже должно работать.


Пожалуйста, уточните, в случае возврата к снэпшоту достаточно сделать следующее, для корректного восстановления:

1) остановить DB2
2) размонтировать ext3 (или другую файловую систему) и остановить iSCSI target
3) сделать rollback к нужному снэпшоту
4) запустить iSCSI target, смонтировать файловую систему
5) запустить DB2, дать команду db2 restart имя_базы write resume

?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033094
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
подразумевается БЕЗ rollforward,

т.е. достаточно откатить транзакции, активные на момент создания снэпшота, без их завершения
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033237
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2,

Код: plaintext
1.
db2start
db2inidb database_alias as snapshot

Using a split mirror to clone a database
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033311
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinstein,

а результат моего способа чем то отличается по целостности данных от initdb?

насколько я понял initdb предназначен для создания новой базы

1)snapshot=клон: сразу после db2initdb запускается rollback - пишут, что:
"You cannot back up a cloned database , restore the backup image on the original system, or roll forward through log files produced on the original system."
т.е. это какая-то ущербная по функционалу база получится без возможности бэкапить ее?

2) mirror или standby: сразу после db2initdb запускается rollforward - мне не подходит, потому что у меня пока нет онлайн логов

я же хотел оставлять базу данных ту же самую, в смысле в том же состоянии, в каком она была на момент ZFS снэпшота
насколько я понял из описания для этого подходит db2 restart database write resume, в данном случае остается старая база, а не создается новая "splitted mirror" (один из трех вышеперечисленных типов)
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033314
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
db2dart рапортует, что все нормально
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033564
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2а результат моего способа чем то отличается по целостности данных от initdb?Есть определенные правила работы с split mirror копиями. Они описаны в документации. Среди них я не вижу команды restart database. Поэтому, я не знаю, что будет со split mirror копией после этого.
sanyock2насколько я понял initdb предназначен для создания новой базы

1)snapshot=клон: сразу после db2initdb запускается rollback - пишут, что:
"You cannot back up a cloned database , restore the backup image on the original system, or roll forward through log files produced on the original system."
т.е. это какая-то ущербная по функционалу база получится без возможности бэкапить её?Нет, вы не правильно поняли.
Когда вы инициализируются копию как snapshot, то все незавершенные транзакции на момент взятия копии откатываются. Вы получаете отдельную базу, более никак не связанную с оригинальной. Именно поэтому цитату надо понимать так, что вы не сможете более из архива этой новой базы (если вы его сделаете, например) пытаться восстанавливать объекты оригинальной базы. Или использовать журналы оригинальной базы для наката по ним в новой базе. Но это не значит, что новая база становится "ущербной", и для нее становится невозможно делать архивы. Она становится обычной отдельной базой.
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033604
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinsanyock2а результат моего способа чем то отличается по целостности данных от initdb?Есть определенные правила работы с split mirror копиями. Они описаны в документации. Среди них я не вижу команды restart database. Поэтому, я не знаю, что будет со split mirror копией после этого.


https://www-01.ibm.com/support/knowledgecenter/SSEPGG_9.7.0/com.ibm.db2.luw.admin.cmd.doc/doc/r0001974.html?cp=SSEPGG_9.7.0/3-6-2-4-103

имитируем ситуацию как будто произошел crash во время write suspend и DB2 продолжает работать с оригинальной базой, а не split mirror, так можно?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033605
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
WRITE RESUME
Allows you to force a database restart on databases that failed while I/O writes were suspended . Before performing crash recovery, this option will resume I/O writes by removing the SUSPEND_WRITE state from every table space in the database
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033612
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
снэпшотится у меня весь /home вместе со служебной информацией типа настроек, каталогизации и т.п. внутри /home/db2inst

поэтому при откате на более ранний снэпшот db2 действительно оказывается в состоянии как будто после write suspend и до write resume

и restart database write resume выводит базу из состояния write resume
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033936
serious_student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark BarinsteinВы получаете отдельную базу, более никак не связанную с оригинальной. Именно поэтому цитату надо понимать так, что вы не сможете более из архива этой новой базы (если вы его сделаете, например) пытаться восстанавливать объекты оригинальной базы. Или использовать журналы оригинальной базы для наката по ним в новой базе. Но это не значит, что новая база становится "ущербной", и для нее становится невозможно делать архивы. Она становится обычной отдельной базой.

А как DB2 идентифицирует то, что база стала другой? т.е. если ее скопировать просто поверх, то как DB2 догадает о подмене?
Наверно, внутри базы есть какие-то GUID-ы, идентифицирующие именно данный экземпляр базы?

Если бы я после zfs rollback сделал db2initdb snapshot, то, наверно, мне пришлось бы удалять из каталога старую базу и добавлять новую?

Я то как раз хотел бы НЕ менять GUID, НЕ делать перекаталогизацию, т.е. чтобы база оставалась старой, оригинальной, НЕ новой, НЕ отдельной.

Есть ли какой-либо другой способ кроме моего "restart database write resume" для достижения этой цели сохранения старой базы и отката на ранний снэпшот в рамках этой старой базы?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033952
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
serious_student,

Изначально было требование:
авторподразумевается БЕЗ rollforward ,

т.е. достаточно откатить транзакции, активные на момент создания снэпшота, без их завершения поэтому было посоветовано
db2inidb database_alias as snapshot
Другого способа "БЕЗ rollforward" нету.
Если теперь требование:
авторЯ то как раз хотел бы НЕ менять GUID, НЕ делать перекаталогизацию, т.е. чтобы база оставалась старой, оригинальной, НЕ новой, НЕ отдельной.

Есть ли какой-либо другой способ кроме моего "restart database write resume" для достижения этой цели сохранения старой базы и отката на ранний снэпшот в рамках этой старой базы?
То для этого:
Код: plaintext
1.
2.
db2inidb database_alias as mirror
db2 rollforward db database_alias ...
Подробнее про особенности:
Using a split mirror as a backup image
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033955
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В догонку:

Вам не обязательно накатываться по логам до конца журнала.
Можно выбрать любую точку во времени после исходного копирования и докатиться до нее, если так надо.
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39033999
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оригинальная база пока без онлайн логов, только recovery logs

докатывать не надо ничего

restart database, насколько я понял, при необходимости как раз делает crash recovery

после отката к снэпшоту "restart database write resume" выполняется несколько минут, потом "connect to" еще несколько минут, скорее всего при этом как раз происходит откат транзакций, активных на момент write suspend?
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39034102
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2,

Если ваша база не использует режим архивирования журналов, то там всё равно, какую опцию db2inidb выбирать: snapshot иди backup. Всё равно текущие незавершенные транзацкии будут откачены.
Еще раз - пользуйтесь db2inidb, а не restart db.
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39034234
sanyock2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinsanyock2,

Если ваша база не использует режим архивирования журналов, то там всё равно, какую опцию db2inidb выбирать: snapshot иди backup. Всё равно текущие незавершенные транзацкии будут откачены.
Еще раз - пользуйтесь db2inidb, а не restart db.

попробую потом поэкспериментировать с db2inidb, но для создания тестовых или отчетных копий баз с rellocation, чтобы обрубить всем программам не от оригинальных разработчиков доступ к основной базе конечно кроме целевого пром приложения от оригинальных разработчиков

но сейчас мне нужен быстрый способ для отката базы на старый снэпшот без создания новой базы, чтобы ничего заново не каталогизировать,
мне кажется я где-то на зарубежных форумах прочитал про возможность использования restart database write resume, поищу потом еще раз

можете подробнее объяснить недостатки или какие-либо нежелательные особенности способа с restart database write resume?
чтобы я мог осознанно от него отказаться или наоборот не отказаться
...
Рейтинг: 0 / 0
быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
    #39034238
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanyock2,

Как я уже говорил, restart db применяется в других случаях, и мне непонятно, зачем вы так хотите применять его там, где есть другие штатные средства. Я ничего не могу сказать по поводу того, чем restart db, может был лучше.
По-моему, db2inidb должна решать вашу задачу. Оно в том числе именно для этого и придумано. Если вы считаете, что нет - объясните, почему.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / быстрый снэпшот базы в бесплатной версии DB2 Express C с помощью ZFS
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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