Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2 3      [все]
 Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Firebird 2.5.8
Ведется разработка БД. Соотвественно - меняются структура таблиц, процедуры и т.д. и т.п. Короче все меняется.
Сделал резервирование БД.
Попытка восстановления на другом компе окончилась неудачей.
Проверил оригинальную БД. Не компиляться три процедуры из-за изменения структур таблиц.
Поправил их. Сделал копию - восстановление на другом компе прошло удачно....
Так и должно быть? Т.е. все объекты должны быть валидными?
P.S. Просто в ORACLE эти объекты были бы помечены как INVALID и восстановление прошло бы удачно.
4 апр 19, 09:25    [21852054]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
bsa1959
<...> P.S. Просто в ORACLE эти объекты были бы помечены как INVALID и восстановление прошло бы удачно.

Голосуйте в трекере за соотв. тикет, он там, если не ошибаюсь, достаточно давно.
Может, когда-то и сделают.
4 апр 19, 09:49    [21852087]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

есть такое дело.

Хотя у меня ни одна процедура ещё не ломалась из-за изменения структуры таблиц.
В 90% случаев некорректные изменения метаданных пресекаются на взлёте если у них есть зависимости.
Что касается инвалидов, то соответствующий флаг (RDB$VALID_BLR) есть в системных таблицах, но он не отображается в IBE особым образом, и отслеживает далеко не все случаи. Подробнее https://www.ibase.ru/files/firebird/langref25rus/index.html#valid
4 апр 19, 09:52    [21852091]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
Симонов Денис,

IBE это как раз и можно было бы простить, а вот gbak-у за то, что походу кладет на этот флаг с прибором, простить уже труднее, имхо.
4 апр 19, 09:59    [21852107]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
Vlad F,

я вроде дал описание что именно отслеживает этот флаг. ИХМО он мог бы делать отслеживать большее
4 апр 19, 10:13    [21852139]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Менялись еще процедуры, вызовы которых были в этих трех процедурах...
Вы должны понять - процесс разработки.
Но хотелось бы иметь копию БД.
А так - мявкнулся у меня комп. Копия вроде есть. Но ее нет.... Совсем напротив как в фильме....
4 апр 19, 10:18    [21852150]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
Симонов Денис,

А я не зря про соотв. тикет в трекере, который по-прежнему по-большому счету не реализован.
Хотя определенные подвижки (в виде флага)) в данном направлении есть.
4 апр 19, 10:21    [21852160]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
Vlad F,

кстати для пакетов у него немного другое назначение. Отслеживать несоответствие заголовка пакета, его телу.

Наверное можно было бы сделать в gbak, чтобы в случае невалидности процедуры просто восстанавливался её текст без BLR, а этот флаг взводился бы как инвалид. Но для этого надо сделать, его более универсальным в плане отслеживания инвалидов. А то будет какое-то половинчатое решение.
4 апр 19, 10:22    [21852167]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
bsa1959,

в процессе разработки при бэкапе нужно еще иметь копию скрипта БД (isql -x ...).
Это полезно для сравнения метаданных.
Кроме того, в приведенном случае в базе не восстановились триггеры и процедуры из бэкапа.
Что можно было бы легко исправить, накатив их из скрипта, и активировав индексы.
4 апр 19, 10:26    [21852174]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
Симонов Денис,

О чем и речь, о чем и речь..))
Делать, вне всякого сомнения, надо, но.. некому. (с) Мимопроходящий))
4 апр 19, 10:26    [21852175]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

копии можно делать и другим способом, кстати он более быстрый. По большому счёту предназначен gbak не для резервных копий, а для миграции. Но исторически сложилось так, что людям привычней делать копии более старым способом, да и nbackup до недавнего времени был глючным (в 2.0 и 2.1 вообще опасным, да и в 2.5 правилось множество багов).
4 апр 19, 10:27    [21852177]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Симонов Денис
bsa1959,

копии можно делать и другим способом, кстати он более быстрый. По большому счёту предназначен gbak не для резервных копий, а для миграции. Но исторически сложилось так, что людям привычней делать копии более старым способом, да и nbackup до недавнего времени был глючным (в 2.0 и 2.1 вообще опасным, да и в 2.5 правилось множество багов).

Так это совет или предостережение пользоваться nbackup?
4 апр 19, 10:35    [21852195]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29784

на 3-ку надо переползать

Posted via ActualForum NNTP Server 1.5

4 апр 19, 10:44    [21852211]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Мимопроходящий
на 3-ку надо переползать

А чем это этому(см. пост 1) поможет?
4 апр 19, 10:48    [21852223]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29784

04.04.2019 10:48, bsa1959 пишет:
> А чем это этому(см. пост 1) поможет?

в 3-ке nbackup уже таки причёсан.
в отличие от 2.Х

Posted via ActualForum NNTP Server 1.5

4 апр 19, 11:00    [21852239]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

в 3.0 хотя бы добавление новых полей с ограничением NOT NULL по уму сделана, что устраняет одну из причин "не восстановимого" бекапа с помощью gbak. Да и nbackup стабильно работает.
4 апр 19, 12:23    [21852440]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Но Вы все поняли...
Сейчас буду свою рабочую базу блюдеть....
Нормальных решений в FB нет.
4 апр 19, 12:36    [21852483]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Симонов Денис
bsa1959,

в 3.0 хотя бы добавление новых полей с ограничением NOT NULL по уму сделана, что устраняет одну из причин "не восстановимого" бекапа с помощью gbak. Да и nbackup стабильно работает.

При чем здесь NOT NULL?
4 апр 19, 12:38    [21852484]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
hvlad
Member

Откуда:
Сообщений: 10245
Мимопроходящий,

не помню проблем с nbackup после 2.5.6 (примерно).

Для БД разработчика его вполне можно применять, как по мне.
4 апр 19, 12:45    [21852500]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

bsa1959
Вы должны понять - процесс разработки.

Не, лично я ни черта не понимаю. Разработка БД обычно ведётся путём изменения
мастер-скрипта создания БД, который хранится в системе контроля версий. Сама БД при этом
вторична и её потеря - фактически плановое явление.

Posted via ActualForum NNTP Server 1.5

4 апр 19, 12:51    [21852517]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

при том, что "невосстановимый" бекап сделанный с помощью gbak может появится по многим случаям. Неаккуратное добавление нового NOT NULL поля в таблицу самое частое из них.

Как сказал hvlad nbackup вполне можно использовать на БД разработчика, ибо она всё равно не под нагрузкой.
Я даже скажу больше можно тупо сервис гасить и делать файловую копию.
4 апр 19, 13:09    [21852559]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9073
А зачем останавливать сервис, чтобы делать файловую копию?
Или не хочется делать nbackup -lock/-unlock ?
4 апр 19, 13:12    [21852564]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
Basil A. Sidorov,

ну это для лентяев, которым не хочется с nbackup разбираться.
А остановить сервис надо для успокоения нервов, ибо отключение всех клиентов от БД, ещё не обозначает полную остановку работы с ней ядром Firebird. Кое-что может работать в фоне некоторое время.
4 апр 19, 13:15    [21852572]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

О чём вы говорите? Аффтар явно копается оглуплятором непосредственно в продакшен базе. Он
не может останавливать сервер, ведь с ним работают пользователи.

Posted via ActualForum NNTP Server 1.5

4 апр 19, 13:18    [21852576]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
bsa1959
Менялись еще процедуры, вызовы которых были в этих трех процедурах...
Вы должны понять - процесс разработки.
Но хотелось бы иметь копию БД.
А так - мявкнулся у меня комп. Копия вроде есть. Но ее нет.... Совсем напротив как в фильме....

У тебя оригиналный невосстанавливаемый (не проходящий бекап/ресторе) вариант БД еще остался?
Можешь проверить на нем кое что? А именно, - состояние флага RDB$VALID_BLR у означенных выше объектов.
4 апр 19, 13:30    [21852585]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Симонов Денис
bsa1959,

при том, что "невосстановимый" бекап сделанный с помощью gbak может появится по многим случаям. Неаккуратное добавление нового NOT NULL поля в таблицу самое частое из них.

Как сказал hvlad nbackup вполне можно использовать на БД разработчика, ибо она всё равно не под нагрузкой.
Я даже скажу больше можно тупо сервис гасить и делать файловую копию.

При чем здесь NOT NULL? Я я об этом говорил и писал?
4 апр 19, 13:31    [21852586]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Я одновременно разрабатываю ПО и БД.
БД и ПО не в продакшене(как это Вы называете).
Я сделал простую процедуру - backup - restore - получил отлуп.
Будьте добры - конкретные советы.
4 апр 19, 13:36    [21852593]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
hvlad
Member

Откуда:
Сообщений: 10245
bsa1959,

а) если разработка в IBE, то он обычно предлагает "перекомпилировать" зависимые объекты -
это позволит поймать несовместимые изменения в момент их совершения
б) пользоваться nbackup, а не gbak
в) регулярно извлекать полный скрипт метаданных и хранить его в любой CVS
некоторые предпочитают хранить каждый объект в отдельном файле
4 апр 19, 14:11    [21852640]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Ivan_Pisarevsky
Member

Откуда: НН
Сообщений: 8253
bsa1959
Нормальных решений в FB нет.
Сказал, как отрезал.

1. есть гбак, может работать на горячую, но он сохраняет базу в свой, транспортно-переносимый формат. При конвертации туда-сюда возможны нюансы, см. первый пост.
2. Есть нбэкап может работать на горячую, но надо применить команду блокировки, потом не забыть разблокировку. Появился значительно позже гбак, видимо поэтому считается "новым-неизведанным", хотя ему уже не первый годок стукнул, и даже не третий.
3. Есть банальное файловое копирование, на горячую работать не умеет.
4. Есть снапшоты уровня ФС или железа, на горячую может работать условно, т.е. база после такого снапшота будет как посте неожиданного пропадания питания. При асинхронной записи на диск база с большой вероятностью будет дохлой, при синхронной разве что орфаны и мусор, вероятность повреждений минимальна.
5. есть выгрузка тескт, может работать на горячую, в копии можно копаться хоть руками в банальном текстовом редакторе. Недостаток громадная пачка операторов и сам текстовик получится недетского размера.

Уже пяток на выбор.
4 апр 19, 14:11    [21852641]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

bsa1959
Будьте добры - конкретные советы.

Повторяю медленно: мастер-скрипт в СКВ. При его изменении ты просто грохаешь старую версию
базы и создаёшь из него новую. Всё, телемаркет.

Posted via ActualForum NNTP Server 1.5

4 апр 19, 14:12    [21852648]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Спасибо Всем за советы. Все понял. Благодарен.
4 апр 19, 14:33    [21852680]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
bsa1959
При чем здесь NOT NULL? Я я об этом говорил и писал?

при том, что невосстановимый бэкап можно получить разными способами:
http://www.ibase.ru/db_repair#norestore
4 апр 19, 14:39    [21852689]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Не надо горчиться... Я все понял.
4 апр 19, 14:50    [21852703]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Тем более, что из старой бд в dbf, я должен(нужно) практически ежедневно вливать данные в новую базу в FB....
Я им чей-то подсказываю - они меняют данные. Ну они - дают - что у них есть.
4 апр 19, 14:54    [21852714]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Голосуйте в трекере за соотв. тикет, он там, если не ошибаюсь, достаточно давно.
Может, когда-то и сделают.

Вот самый правильный ответ.
Не имею такой возможности.( про трекер)
4 апр 19, 14:58    [21852724]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

этого ждать будешь долго, пока есть более приоритетные задачи
4 апр 19, 15:00    [21852732]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Симонов Денис
bsa1959, этого ждать будешь долго, пока есть более приоритетные задачи

Ясно и понятно... Буду учитывать в дальнейшей работе. Спасибо.
4 апр 19, 15:04    [21852739]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

Симонов Денис
этого ждать будешь долго

Лично я буду ругаться на этот тикет до последнего. Ибо тут вам не Оракул с его костылями
для автокоммита DDL. В конце транзакции БД должна быть либо полностью валидна, либо коммит
не должен пройти.

Posted via ActualForum NNTP Server 1.5

4 апр 19, 15:36    [21852817]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
bsa1959
Голосуйте в трекере за соотв. тикет, он там, если не ошибаюсь, достаточно давно.
Может, когда-то и сделают.

Вот самый правильный ответ.
Не имею такой возможности.( про трекер)

Но хотя бы ответить на вопрос, заданный мной несколько выше ты то можешь ответить?
P.S. Так выпьем за то, чтобы наши желания совпадали с нашими возможностями!))
4 апр 19, 17:38    [21853058]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Старый плюшевый мишка
Member

Откуда:
Сообщений: 531
Vlad F
P.S. Так выпьем за то, чтобы наши желания совпадали с нашими возможностями!))


Я бы предпочёл чтобы мои возможности совпадали с моими желаниями...
4 апр 19, 18:42    [21853121]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
Старый плюшевый мишка,

Все такими когда-нибудь будем, не расстраивайся.))
4 апр 19, 19:42    [21853178]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F
Но хотя бы ответить на вопрос, заданный мной несколько выше ты то можешь ответить?

Не остался. Но привести БД в такое состояние - три секунды. Я же три дня с этим боролся....
4 апр 19, 21:24    [21853269]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F

Просто сделайте две процедуры.
1-я вызывает 2-ю.
2-я имеет ценность. про 1-ю я забыл.
Но параметры у 2-ой процедуры до и после изменились.
И после этого backup не восстанавливается?
И это правильно?
4 апр 19, 21:35    [21853278]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F
А именно, - состояние флага RDB$VALID_BLR у означенных выше объектов.

Проходили это все. Oracle oci8 оседлал своими классами с++.
Сейчас как-то остыл....Или повзрозлел?
Firebird сказал - Firebird сделал....
4 апр 19, 21:45    [21853284]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

bsa1959
И это правильно?

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

Posted via ActualForum NNTP Server 1.5

4 апр 19, 22:04    [21853293]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
bsa1959
Vlad F

Просто сделайте две процедуры.
1-я вызывает 2-ю.
2-я имеет ценность. про 1-ю я забыл.
Но параметры у 2-ой процедуры до и после изменились.
И после этого backup не восстанавливается?
И это правильно?

В общем, давай все-таки так, - с тебя конкретный воспроизводимый сценарий в студию, раз две процедуры надо,
пусть будут две. Но с минимальным числом параметров, в идеале с одним. И ответ на счет значений озвученного
выше флага, чтобы было понятно, какой именно надо (и надо ли) регистрировать тикет.
P.S. Спасение поциентов - дело рук самих поциентов.
Так думаю! (с) Мимино.))
4 апр 19, 22:38    [21853316]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
P.P.S. Да, и самое главное, - все эти дальнейшие эксперименты стоит производить, имхо, только на тройке.
Если не готов и/или нет такой возможности то, думаю, даже затеваться (тратить время, в т.ч наше) не стОит.
4 апр 19, 22:44    [21853320]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F
P.P.S. Да, и самое главное, - все эти дальнейшие эксперименты стоит производить, имхо, только на тройке.
Если не готов и/или нет такой возможности то, думаю, даже затеваться (тратить время, в т.ч наше) не стОит.

Ок. Переход на 3/4 намечается. Очень там вкусные Window -функции. Но не сей секунд.
5 апр 19, 07:03    [21853460]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Vlad F
Member

Откуда:
Сообщений: 758
bsa1959,

А для того чтобы локализовать обсуждаемые проблемы глобальный переход вовсе не обязателен.
Достаточно поэкспериментировать с эмбеддед версией тройки где-то в сторонке.
5 апр 19, 09:36    [21853576]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F
bsa1959,
А для того чтобы локализовать обсуждаемые проблемы глобальный переход вовсе не обязателен.
Достаточно поэкспериментировать с эмбеддед версией тройки где-то в сторонке.

Как только - так сразу......
5 апр 19, 10:19    [21853628]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F
.

Кстати - это все случилось из-за одной процедуры, которая считает количество общих дней в двух периодах.Раньше она возвращала только количество дней. Потом я ее поменял - она стала возвращать количество дней и период пересечения.
+
create or alter procedure HASDAYS (
S1 date,
E1 date,
S2 date,
E2 date)
returns (
R integer,
SDATE date,
EDATE date)
as
begin
edate = mindate(e1,e2);
sdate = maxdate(s1,s2);
r = edate-sdate;
if(r >= 0) then
r = r+1;
else
begin
r = 0;
edate = NULL;
sdate = NULL;
end
suspend;
end^

SET TERM ; ^
5 апр 19, 10:27    [21853641]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Vlad F,
А в вызывающих процедурах было
select * from hasdays(............)
5 апр 19, 10:35    [21853654]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

сам виноват. Никогда не применяй * во вьюхах и PSQL коде, кроме COUNT(*) или EXISTS(SELECT * ...)
Да и в самом приложении тоже не желательно
5 апр 19, 10:39    [21853660]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Симонов Денис
bsa1959,
сам виноват. Никогда не применяй * во вьюхах и PSQL коде, кроме COUNT(*) или EXISTS(SELECT * ...)
Да и в самом приложении тоже не желательно

Виноват - железно.
Я просто показал пример для воспроизведения ситуации. А ситуации могут быть разные.
И если после этого невозможно восстановиться - может быть полный пипец.
5 апр 19, 10:49    [21853678]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

ну вообще IB Expert вроде как предупреждение даёт, которое ты проигнорировал.
Конечно хорошо бы сам Firebird что-то делал, но пока вот так.
Надо быть аккуратней, использовать хорошие практики, и смотреть что тебе пишет среда разработки.
5 апр 19, 11:07    [21853707]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
bsa1959
Я просто показал пример для воспроизведения ситуации

эта "ситуация" известна и описана много лет назад.
5 апр 19, 11:15    [21853719]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Ну уже посыпал свою голову пеплом.....
Что ВЫ клюете и клюете....?
Процедуры, вызывающие эту, написаны год назад в самом начале реализации проекта и сейчас никакой ценности не представляют....
Вопрос же в другом.
5 апр 19, 11:58    [21853805]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Я так понял - перед тем как делать копию. Пользуясь IBExpert
1. Обязательно произвести перекомпиляцию всех процедур. Исправить ошибки
2.Запустить проверку БД. Кстати - какую(имея ввиду IBExpert)
Еще что-нибудь нужно сделать?
5 апр 19, 13:28    [21853974]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

Наоборот. Копию надо делать перед накатыванием на базу скрипта обновления
структуры. Вне зависимости от того каким инструментом этот скрипт накатывается.

Posted via ActualForum NNTP Server 1.5

5 апр 19, 13:33    [21853984]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Dimitry Sibiryakov
Наоборот. Копию надо делать перед накатыванием на базу скрипта обновления
структуры. Вне зависимости от того каким инструментом этот скрипт накатывается.

Не понял.... Или Вы не поняли.
Разговор шел о том как правильно сделать копию БД НЕ В ПРОДАКШЕНЕ. В которой может быть ошибок как собак нерезаных......Для себя.
Для продакшена у меня все сделано. 8 лет работает(три раза плюнул через левое плечо)......
5 апр 19, 13:44    [21853997]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47284

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

Posted via ActualForum NNTP Server 1.5

5 апр 19, 13:48    [21854005]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Короче. Поехал в командировку на неделю по другому проекту. Дали там бубук и доступ к серваку.
Нудно все было. Решил вечерами поработать над новым проектом. На флешке была копия БД нового проекта. И отлетел - как от стенки........
5 апр 19, 13:52    [21854010]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
bsa1959
В которой может быть ошибок как собак нерезаных......Для себя.

сохраняешь скрипт (isql -x) и nbackup -b 0 ...
Если базу вдруг поразит молния, и копия будет такая же кривая - есть скрипт, из которого базу можно легко воссоздать. А если скрипт кривой, так его можно отредактировать.

Собственно, если надо проверить "восстановимость" метаданных, то это быстро делается gbak -b -g -m ... gbak -c. Ну или gbak -b -g ... gbak -c -m.
5 апр 19, 13:57    [21854016]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Блин....
Мне страшно важны и данные.... Даже прежде всего.....
В этой базе есть старая база по-таблично(импортированая из DBF ) и моя новая...
5 апр 19, 14:01    [21854025]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27915
bsa1959,

тогда делай копии на cloud.mail.ru, ЯД, гуглодиск, и так далее.

Какие-то вымученные страдания. Есть база, есть бэкапы такие, есть сякие, есть "невосстановимый" бэкап. Становится он невосстановимым потому и поэтому. Если поэтому (процедуры), так можно накатить процедуры и триггеры сверху. Если потому (другая причина), то тогда надо брать исходную БД, исправлять её, и делать бэкап-рестор в цикле пока не станет хорошо.

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

Всё это относится не только к разработке и продакшну, но и к случаям повреждения БД из-за сбоев. Резервное копирование - оно такое, либо делается правильно, либо не делается (потому что не делается или потому что неправильное).
5 апр 19, 14:04    [21854028]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Завяжем этот разговор.
Выводы.
1.Firebird не может восстановить базу из dump, если в нем есть невалидные объекты.
2.Но dump такой базы он делает.
5 апр 19, 14:11    [21854039]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Мимопроходящий
Member

Откуда: бурятский тундрюк, эсквайр
Сообщений: 29784

у Firebird'а нет невалидных объектов.

Posted via ActualForum NNTP Server 1.5

5 апр 19, 15:26    [21854135]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
bsa1959
Member

Откуда: Минск
Сообщений: 151
Мимопроходящий
у Firebird'а нет невалидных объектов.

Птички нет? Ее нужно обязательно ввести. Это только мое мнение.
Закрываем тикет.....
5 апр 19, 16:21    [21854231]     Ответить | Цитировать Сообщить модератору
 Re: Невозможно восстановление БД  [new]
Симонов Денис
Member

Откуда: Рязань
Сообщений: 9393
bsa1959,

из всех существующих СУБД статус инвалидов есть только у Оракула.
У остальных невалидные объекты есть, а статуса нет.
Птичка хотя бы старается предотвратить создание невалидных объектов, но иногда они всё таки появляются.
5 апр 19, 17:32    [21854302]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2 3      [все]
Все форумы / Firebird, InterBase Ответить