Каждый раз, когда я это делал, мы проходили два прохода ...
- сделайте снимок и работайте на другом сервере, используйте его, чтобы определить, что нужно сделать для миграции, и запишите его.
- как только у них есть скрипт в руках, Snapshop восстанавливается в тестовой системе, и пора посмотреть, будет ли он работать в течение требуемого времени, или он будет настроен и изменен, пока не сможет.
- пусть заинтересованные стороны подпишут, что с данными в тестовой системе нет ничего плохого.
Затем на выходных у вас запланированное отключение:
- В пятницу вечером системы, использующие базу данных, вышли из строя, сделано полное холодное резервное копирование, и запущены сценарии для переноса / изменения / чего-либо в данные
- Системы восстанавливаются по какому-то частному адресу или как-то настраиваются, поэтому они никому не нужны, кроме заинтересованных лиц для приемочного тестирования
- Если заинтересованные стороны одобряют, система будет размещена в сети и обнародована; если нет, база данных восстанавливается из резервной копии, сделанной в пятницу вечером, и вы начинаете процесс заново.
В соответствии с нашим расписанием у сотрудников базы данных обычно было с 18:00 в пятницу до 10:00 в субботу для запуска сценариев резервного копирования и миграции, поэтому наша цель состояла в том, чтобы они выполнялись менее чем за 8 часов (~ 6 из них были резервными копиями), поэтому мы « У меня будет время для нашего тестирования и исправлений, прежде чем оно будет передано заинтересованным сторонам.
Заинтересованным сторонам заранее были предоставлены временные окна, поэтому они знали, что в начале окна они должны оставить свои выходные открытыми для тестирования. Им также сказали, что конец их окна, как правило, в воскресенье днем, где, если бы все не подписались, нам пришлось бы начать отступать.
О, и конечно ... если у кого-то были изменения во время любого из приемочных испытаний, и мы внесли изменения, это означало, что все подписи заинтересованных сторон были аннулированы, и они должны были повторно протестировать ... так мы постараемся дать им время, чтобы искать проблемы и выполнять любые исправления в виде пакета, а не применять их по одному.
К счастью, единственные случаи, когда у меня была одна из тех ситуаций, когда у нас не могло быть значительного простоя, системы, которые я переносил, исходили из сценариев, а не от ввода данных пользователем, поэтому я мог просто запустить две параллельные системы и обменять их когда вещи подписали. (только однажды возникла проблема, когда мой начальник настоял на том, чтобы мы сделали полную резервную копию, не понимая, что все это будет по-прежнему подключено к сети с другого IP-адреса ... так что должно было произойти 5-минутное отключение на плохой день стал перерывом в 5 часов.)