Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 04.04.17 02:55
Оценка:
В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое? Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может, а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие? Что вообще за редиска ' рядом с Enter расположил? Конечно, всё это потом восстановится, хотя и с лагом, но в моей компании неосторожный SQL update может отправить в нокаут тысячи сайтов. Есть такое дело или я навыдумывал? На себе проверять не хочу.
Коплю на ланцер
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: vsb Казахстан  
Дата: 04.04.17 03:20
Оценка:
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое?


Конечно. Не боятся обычно те, кто ещё не грохал базу.

> Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может


Поэтому очень важно иметь очень быстрые и удобные бэкапы/восстановления и автоматизировать выполнение кастомных скриптов с автоматическим бэкапов перед ними. Сильно снижает уровень стресса.

> а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие?


1. Транзакции. Это обязательно, никогда нельзя работать на продакшне с авто-коммитом, даже на тесте не стоит, чтобы привычки не менять.

2. Нормальные инструменты. Enter не должен выполнять запрос. Должно быть подтверждение в каком-то виде. Хотя бы ";" поставить в конце (когда уже уверен, что опечаток нет).

3. Проверки перед коммитом. Посмотри, сколько строк изменилось апдейтом, сделай селект, убедись что всё нормально.

> Есть такое дело или я навыдумывал? На себе проверять не хочу.


Ну знакомый один раз в одной важной базе грохнул важную таблицу. Там бэкапы на ленточку делались, но восстанавливать это умеют особые спецы, которые по заявке приходят не в ту же минуту, процесс восстановления занимает несколько дней, в общем в Казахстане ряд госорганов в эти дни получил выходные вне графика По-моему там на выходные это всё выпало, так что не всё так страшно, но всё равно очень неприятно.
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: ilvi Россия  
Дата: 04.04.17 06:10
Оценка: +2
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое? Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может...


Если не проверить востанавливается ли из бекапа база, то может
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Dym On Россия  
Дата: 04.04.17 06:41
Оценка: +1
O>Есть такое дело или я навыдумывал? На себе проверять не хочу.
Клонируешь продуктивную базу, накатываешь апдейт на клон, проверяешь, если всё ОК, то два варианта: либо переключаешь клон в продуктив, если такое возможно, либо накатываешь апдейт на продуктив.
Счастье — это Glück!
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 06:52
Оценка:
Здравствуйте, opt1k, Вы писали:

O>Т.е. одним неловким движением update X set Y=' ' enter.

Это в какой среде управления БД такое?
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Gradiens  
Дата: 04.04.17 06:55
Оценка:
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое?

Конечно, мне вообще страшно бой трогать. И не только базу.
O> Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может,
Страшного — нет, но неприятного — масса. бекапы-то тоже не мгновенно ресторятся.
O> а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие?
Во-первых, транзакции — наше все. Как уже написали выше — все и всегда заворичивай в транзакции.
А во-вторых, надо объяснять начальству, что здесь и сразу можно только все данные похерить. А что-то путное делать надо по уму.
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: TMU_1  
Дата: 04.04.17 08:45
Оценка: +2
O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое? Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может, а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие? Что вообще за редиска ' рядом с Enter расположил? Конечно, всё это потом восстановится, хотя и с лагом, но в моей компании неосторожный SQL update может отправить в нокаут тысячи сайтов. Есть такое дело или я навыдумывал? На себе проверять не хочу.



В очередной раз убеждаюсь, что представление о том, что "ну вот где-то там процессы поставлены" — миф. Везде бардак
От твоего поста больно становится.
Во-первых, отключить автокоммит, за такое вообще надо по голове бить, больно.
Во-вторых, вы что, вручную производите изменения на продуктиве?! Отлаживаешь скрипт на тестовом окружении и запускаешь уже проверенный код на продуктиве.
Одно неловкое движение кладет тысячи сайтов, бог ты мой...
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: AleksandrN Россия  
Дата: 04.04.17 10:33
Оценка: +1
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое? Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может, а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие? Что вообще за редиска ' рядом с Enter расположил? Конечно, всё это потом восстановится, хотя и с лагом, но в моей компании неосторожный SQL update может отправить в нокаут тысячи сайтов. Есть такое дело или я навыдумывал? На себе проверять не хочу.


БД и любые важные данные нужно бэкапить.

Прежде, чем накатывать изменения на продуктивную БД, нужно проверить на тестовой БД, какое влияние окажет обновление.

Постарайся делать коммит только после всех изменений (без промежуточных коммитов).

Прежде чем накатывать изменения, подготовь скрипт для отката сделанных изменений.
Re[2]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 10:56
Оценка: +1
AN>БД и любые важные данные нужно бэкапить.
AN>Прежде, чем накатывать изменения на продуктивную БД, нужно проверить на тестовой БД, какое влияние окажет обновление.
AN>Постарайся делать коммит только после всех изменений (без промежуточных коммитов).
AN>Прежде чем накатывать изменения, подготовь скрипт для отката сделанных изменений.

Теоретик? На практике базы могут быть такого огромного размера что для тестовой БД нужно новый датацентр строить.
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 11:05
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Теоретик? На практике базы могут быть такого огромного размера что для тестовой БД нужно новый датацентр строить.

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

Ну, это всё разумеется, если данные не представляют собой мусор, который потерять не жалко.
Но если хранится мусор, то непонятно, зачем тратятся деньги на целый датацентр для его хранения...
Re[4]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 11:13
Оценка:
_AB>В таких случаях режут данные, но тестовые среды как раз всегда есть,
Порезали данные и тестовая среда перестала покрывать всевозможные варианты поведения: ты написал скрипт который работает на тестовом но завалится на проде.

_AB> а обновления накатывает подготовленный персонал по специально разработанному регламенту, а не рядовой кодер в течение дня.

Кто скрипт пишет? Накатить готовый скрипт любой дурак сможет.
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 11:25
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Порезали данные и тестовая среда перестала покрывать всевозможные варианты поведения: ты написал скрипт который работает на тестовом но завалится на проде.

Значит, бездумно порезали.

T>Кто скрипт пишет? Накатить готовый скрипт любой дурак сможет.

Вопрос не в том, чтобы скрипт накатить.
Первый вопрос в том, чтобы справиться с последствиями неудачного наката.
Второй вопрос в том, чтобы удостовериться, что накат прошел успешно.
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: AleksandrN Россия  
Дата: 04.04.17 11:29
Оценка:
Здравствуйте, turbocode, Вы писали:

AN>>БД и любые важные данные нужно бэкапить.

AN>>Прежде, чем накатывать изменения на продуктивную БД, нужно проверить на тестовой БД, какое влияние окажет обновление.
AN>>Постарайся делать коммит только после всех изменений (без промежуточных коммитов).
AN>>Прежде чем накатывать изменения, подготовь скрипт для отката сделанных изменений.

T>Теоретик? На практике базы могут быть такого огромного размера что для тестовой БД нужно новый датацентр строить.


Практик. На текущем месте работы так и сделано. БД огромная, есть несколько серверов, работает 24/7. А для тестирования развёрнуты отдельные серверы. Тестовая система не является точной копией боевой (серверов намного меньше, характеристики "железа" хуже), но прежде, чем накатывать изменения в боевую БД, они тестируются.

На предыдущем месте, прежде, чем накатывать изменения на БД клиентов, изменения тестировались сначала нами, потом клиентом.

А если в твой компании от неправильного апдейта могут лечь тысячи сайтов и нет тестовой среды, то однажды — неправильное обновление БД будет сделано. Подумай, какие убытки от этого будут, не разбегутся ли клиенты и не превысят ли убытки затраты на развёртывание тестовой системы.
Re[6]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 11:31
Оценка:
T>>Порезали данные и тестовая среда перестала покрывать всевозможные варианты поведения: ты написал скрипт который работает на тестовом но завалится на проде.
_AB>Значит, бездумно порезали.

А если думно то выйдет что нужна полная копия, чего сделать нельзя.
Re[4]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 11:37
Оценка:
AN>А если в твой компании от неправильного апдейта могут лечь тысячи сайтов и нет тестовой среды, то однажды — неправильное обновление БД будет сделано. Подумай, какие убытки от этого будут, не разбегутся ли клиенты и не превысят ли убытки затраты на развёртывание тестовой системы.

У авиадиспетчеров тоже есть тестовые самолетики? Не пиши ерунды.
Re[7]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 11:40
Оценка:
Здравствуйте, turbocode, Вы писали:

T>А если думно то выйдет что нужна полная копия, чего сделать нельзя.

Примеры привести сможешь?
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: AleksandrN Россия  
Дата: 04.04.17 11:40
Оценка:
Здравствуйте, turbocode, Вы писали:

AN>>А если в твой компании от неправильного апдейта могут лечь тысячи сайтов и нет тестовой среды, то однажды — неправильное обновление БД будет сделано. Подумай, какие убытки от этого будут, не разбегутся ли клиенты и не превысят ли убытки затраты на развёртывание тестовой системы.


T>У авиадиспетчеров тоже есть тестовые самолетики? Не пиши ерунды.


Самолётов нет, а какой-нибудь имитатор, моделирующий входные данные для диспетчерской системы, наверняка есть.
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 11:44
Оценка: +2
Здравствуйте, turbocode, Вы писали:

T>У авиадиспетчеров тоже есть тестовые самолетики?

Вообще говоря, есть. Примерно в той же степени, в какой у системы есть тестовые клиенты.

В целом же авиадиспетчеры являются не администраторами системы, не создателями, а всего лишь операторами, пользователями.
Поэтому твой пример абсолютно нерелевантен и показывает твоё полное непонимание сути вопроса.

T>Не пиши ерунды.

Последуй собственному совету.
Re[6]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 11:45
Оценка:
AN>Самолётов нет, а какой-нибудь имитатор, моделирующий входные данные для диспетчерской системы, наверняка есть.
Вот видишь если начать думать то оказывается что всё можно делать.
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: BlackEric http://black-eric.lj.ru
Дата: 04.04.17 11:51
Оценка:
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое? Ну я понимаю, что если перед каждым апдейтом бекап делать (как оно по уму и делается), то ничего страшного нет и быть не может, а как быть, когда надо вот здесь и сразу, а ентер ведь рядом с '? Т.е. одним неловким движением update X set Y=' ' enter. мы отправляем пару тысяч строк данных в небытие? Что вообще за редиска ' рядом с Enter расположил? Конечно, всё это потом восстановится, хотя и с лагом, но в моей компании неосторожный SQL update может отправить в нокаут тысячи сайтов. Есть такое дело или я навыдумывал? На себе проверять не хочу.


Да и это нормально. Вначале все отлаживается на тесте, а потом накатывается и как правило это разные люди, т.е. работа разработчика проверяется тестером и/или DBA.
https://github.com/BlackEric001
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: · Великобритания  
Дата: 04.04.17 11:56
Оценка:
Здравствуйте, turbocode, Вы писали:

AN>>БД и любые важные данные нужно бэкапить.

AN>>Прежде, чем накатывать изменения на продуктивную БД, нужно проверить на тестовой БД, какое влияние окажет обновление.
AN>>Постарайся делать коммит только после всех изменений (без промежуточных коммитов).
AN>>Прежде чем накатывать изменения, подготовь скрипт для отката сделанных изменений.

T>Теоретик? На практике базы могут быть такого огромного размера что для тестовой БД нужно новый датацентр строить.

Если данные важные, то
— либо апдейты накатывают по частям, инкрементально: изменять не все записи, а только по 0.1% из них, с возможностью отката в виде бэкапов, проверяя корректность данных на каждом шагу.
— либо делают поэтапно, через неломающие совместимые изменения: добавить новое поле с новым значением, обновить все системы, чтобы они стали использовать новое поле вместо старого, грохнуть старое поле.

А просто набирать код SQL-скрипта прямо на прод базе — это просто цирк.
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[7]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: AleksandrN Россия  
Дата: 04.04.17 11:56
Оценка:
Здравствуйте, turbocode, Вы писали:

AN>>Самолётов нет, а какой-нибудь имитатор, моделирующий входные данные для диспетчерской системы, наверняка есть.

T>Вот видишь если начать думать то оказывается что всё можно делать.

Можно. Если подумать, то окажется, что развернуть тестовую систему можно. Будут ли в тестовой системе реальные данные или их имитация — вопрос, решаемый в каждом случае отдельно, исходя из важности системы, особенностей реализации, возможностей по развёртыванию тестовой системы и допустимой степени похожести тестовой системы на продуктивную.
Re[8]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 12:05
Оценка:
AN>Можно. Если подумать, то окажется, что развернуть тестовую систему можно. Будут ли в тестовой системе реальные данные или их имитация — вопрос, решаемый в каждом случае отдельно, исходя из важности системы, особенностей реализации, возможностей по развёртыванию тестовой системы и допустимой степени похожести тестовой системы на продуктивную.

Тестовая не актуальна, запрос который на первый взгляд шустро работает на тестовом может реально медленно работать в реале.
Re[6]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: turbocode  
Дата: 04.04.17 12:30
Оценка:
_AB>В целом же авиадиспетчеры являются не администраторами системы, не создателями, а всего лишь операторами, пользователями.
Тогда почему их судят за авиакатастрофы? Они ж всего лишь пользователи.
_AB>Поэтому твой пример абсолютно нерелевантен и показывает твоё полное непонимание сути вопроса.
Иди полетай.
Re[7]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 14:42
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Тогда почему их судят за авиакатастрофы? Они ж всего лишь пользователи.

Пользователя медицинской системы, неправильно использовавшего её, тоже засудят.
Как и оператора АЭС, например.

T>Иди полетай.

К чему тут этот совет?
Re[2]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 04.04.17 15:06
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Это в какой среде управления БД такое?


AS400
Коплю на ланцер
Re[2]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 04.04.17 15:07
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Во-первых, транзакции — наше все. Как уже написали выше — все и всегда заворичивай в транзакции.


Что в данном случае имеется ввиду под транзакциями?
Коплю на ланцер
Re[9]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: AleksandrN Россия  
Дата: 04.04.17 15:28
Оценка:
Здравствуйте, turbocode, Вы писали:

T>Тестовая не актуальна, запрос который на первый взгляд шустро работает на тестовом может реально медленно работать в реале.


Может быть и такое. Например — в тестовой таблице намного меньше данных, отличаются индексы или нагрузка на БД. Результаты тестирования производительности нужно правильно пересчитать из параметров тестовой системы на продуктивную. Тестирование, в том числе нагрузочное, это отдельная сложная задача.
Re[10]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 04.04.17 16:17
Оценка:
В общем я так понимаю, что у более современных систем писать в базу напрямую нельзя? Или всё-таки можно при наличии должных прав? Странно мне всё это. Одно неловкое движение и пиши пропало.
Коплю на ланцер
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 04.04.17 16:23
Оценка:
Здравствуйте, opt1k, Вы писали:

_AB>>Это в какой среде управления БД такое?

O>AS400
А AS400 — это разве не аппаратный комплекс?
Re[4]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 04.04.17 19:04
Оценка:
_AB>А AS400 — это разве не аппаратный комплекс?

Это основа основ нашей корпорации. На ней всё и крутится. А рассказывать про софт, который написан только под нашу контору и только в оной и существует смысла нету.
Коплю на ланцер
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 05.04.17 04:30
Оценка:
Здравствуйте, opt1k, Вы писали:

O>А рассказывать про софт, который написан только под нашу контору и только в оной и существует смысла нету.

Самописная РСУБД с SQL синтаксисом? Ну да, ну да.
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Gradiens  
Дата: 05.04.17 07:03
Оценка:
Здравствуйте, opt1k, Вы писали:

O>Здравствуйте, Gradiens, Вы писали:


G>>Во-первых, транзакции — наше все. Как уже написали выше — все и всегда заворичивай в транзакции.


O>Что в данном случае имеется ввиду под транзакциями?


Я имею в виду, что в начале любого разрабатываемого скрипта должна начитаться транзакция, а в конце — транзакция должна откатываться.
одно неловкое движение, и... ничего, транзакция откатилась.
А после того, как все отлажено и проверено — откат транзакции заменить на накат.
Например, в сиквеле любой скрипт писать внутри конструкции
BEGIN TRY
    BEGIN TRAN
    
    -- Тут пишем всякое опасное

    ROLLBACK TRAN
END TRY

BEGIN CATCH
    ROLLBACK TRAN
    THROW
END CATCH

А потом, когда все отлажено и проверено, первый ROLLBACK заменить на COMMIT
Re[2]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Mr.Delphist  
Дата: 05.04.17 08:41
Оценка:
Здравствуйте, TMU_1, Вы писали:

TMU>Отлаживаешь скрипт на тестовом окружении и запускаешь уже проверенный код на продуктиве.


А там у клиента фамилия с хитрым юникодом, который SQL Engine вдруг решает заменить на кавычку или апостроф. Или рекордсет, который недавно импортировали из БД партнёров и он чутка более "вольный" чем ожидаемая структура данных, причём Ваш отдел про это никто не удосужился оповестить. И всё, приплыли, скрипт прокатался без ошибки, но не так как надо — база неконсистентна, система не взлетает.

В общем, бэкапить, бэкапить и ещё раз бэкапить, как говорил В.И.Ленин.
Re[6]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 05.04.17 15:11
Оценка:
Здравствуйте, _ABC_, Вы писали:

_AB>Самописная РСУБД с SQL синтаксисом? Ну да, ну да.


База DB2. Но писать в базу можно как раз через нашу ERP через консоль. Конечно, есть и более человеческие методы, но в данном случае вопрос именно про запись в лоб.
Коплю на ланцер
Re[4]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 05.04.17 15:13
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>Например, в сиквеле любой скрипт писать внутри конструкции

G>
G>BEGIN TRY
G>    BEGIN TRAN
    
G>    -- Тут пишем всякое опасное

G>    ROLLBACK TRAN
G>END TRY

G>BEGIN CATCH
G>    ROLLBACK TRAN
G>    THROW
G>END CATCH
G>

G>А потом, когда все отлажено и проверено, первый ROLLBACK заменить на COMMIT

И всё это я могу провернуть прямо в консоли?
Коплю на ланцер
Re: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Cyberax Марс  
Дата: 06.04.17 02:06
Оценка:
Здравствуйте, opt1k, Вы писали:

O>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое?

Не, не бывает. Вот например, мы в Амазоне не так давно базу биллинга для S3 правили. Ой....
Sapienti sat!
Re[2]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 06.04.17 02:18
Оценка:
Здравствуйте, Cyberax, Вы писали:

C>Здравствуйте, opt1k, Вы писали:


O>>В который раз ловлю себя на мысли, что мне страшно апдейтить продуктивную базу. У вас есть такое?

C>Не, не бывает. Вот например, мы в Амазоне не так давно базу биллинга для S3 правили. Ой....

Ну и каков результат? Полетели головы? Я для себя решил поуменьшить писанину в базу, буду только в экстренных ситуациях этим заниматься, а остальное пусть через джиру идёт, с бэкапами и недельными ожиданиями. Мне такой гемор ни к чему, рука дрогнет и готово. Хотя можно использовать эккаунт срини.
Коплю на ланцер
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Gradiens  
Дата: 06.04.17 07:11
Оценка:
Здравствуйте, opt1k, Вы писали:

O>Здравствуйте, Gradiens, Вы писали:


G>>Например, в сиквеле любой скрипт писать внутри конструкции

G>>
G>>BEGIN TRY
G>>    BEGIN TRAN
    
G>>    -- Тут пишем всякое опасное

G>>    ROLLBACK TRAN
G>>END TRY

G>>BEGIN CATCH
G>>    ROLLBACK TRAN
G>>    THROW
G>>END CATCH
G>>

G>>А потом, когда все отлажено и проверено, первый ROLLBACK заменить на COMMIT

O>И всё это я могу провернуть прямо в консоли?


Я приводил пример для сиквела. Там нет нужды что-то проворачивать в консоли.
Допускаю, что для вашей СУБД нет нормальных IDE. Это было бы странно, но допускаю. Но это же не повод апдейтить боевую базу прямо из консоли! Написать скрипт, отладить его на тесте, откатывая транзакцию (или в вашей субд нет транзакций?). Потом накатить на тест. И только потом накатывать на прод.

Допускаю также, что начальство требует результатов прямо здесь и сейчас. Тогда — мои сочувствия.
Но это ваше начальство — вам его и обучать. Начальство же не хочет обедать у повора, который руки после туалета не моет? Ну так объясните ему, что в разработке также нужо соблюдать гигиену.
Re[7]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Gradiens  
Дата: 06.04.17 07:29
Оценка:
Здравствуйте, opt1k, Вы писали:

O>Здравствуйте, _ABC_, Вы писали:


_AB>>Самописная РСУБД с SQL синтаксисом? Ну да, ну да.


O>База DB2. Но писать в базу можно как раз через нашу ERP через консоль. Конечно, есть и более человеческие методы, но в данном случае вопрос именно про запись в лоб.


Дам-с, месье знает толк в извращениях!
Тыкать льва палочкой тоже можно, но зачем?
А в чем проблема использовать "более человеческие методы"?
Re[5]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: _ABC_  
Дата: 06.04.17 07:53
Оценка:
Здравствуйте, opt1k, Вы писали:

G>>А потом, когда все отлажено и проверено, первый ROLLBACK заменить на COMMIT

O>И всё это я могу провернуть прямо в консоли?
Можешь, конечно.
Если у вас уж средства совсем фиговые, то напечатать begin tran и только потом печатать запросы
тебе никто не может помешать. Если накосячил, то rollback.
Если и этого нельзя, то ты не консолью пользуешься в фиг знает чем.
Re[3]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: Cyberax Марс  
Дата: 06.04.17 08:11
Оценка:
Здравствуйте, opt1k, Вы писали:

C>>Не, не бывает. Вот например, мы в Амазоне не так давно базу биллинга для S3 правили. Ой....

O>Ну и каков результат? Полетели головы?
Ввели buddy-систему. Перед запуском любой потенциально мутирующей команды на production-системе — её должен подтвердить второй разработчик.
Sapienti sat!
Re[8]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 06.04.17 15:08
Оценка:
Здравствуйте, Gradiens, Вы писали:

G>А в чем проблема использовать "более человеческие методы"?


В том что более человеческими методами занимается другой отдел и мне они не положены. Корпорация-с...
Коплю на ланцер
Re[4]: Страшно ли вам апдейтить продуктивную базу без бекапов?
От: opt1k США  
Дата: 06.04.17 15:11
Оценка:
Здравствуйте, Cyberax, Вы писали:
C>Ввели buddy-систему. Перед запуском любой потенциально мутирующей команды на production-системе — её должен подтвердить второй разработчик.

Коплю на ланцер
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.