powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Невозможно восстановление БД
19 сообщений из 69, страница 3 из 3
Невозможно восстановление БД
    #39797034
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
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 ; ^
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797043
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vlad F,
А в вызывающих процедурах было
select * from hasdays(............)
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797049
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

сам виноват. Никогда не применяй * во вьюхах и PSQL коде, кроме COUNT(*) или EXISTS(SELECT * ...)
Да и в самом приложении тоже не желательно
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797056
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Симонов Денисbsa1959,
сам виноват. Никогда не применяй * во вьюхах и PSQL коде, кроме COUNT(*) или EXISTS(SELECT * ...)
Да и в самом приложении тоже не желательно
Виноват - железно.
Я просто показал пример для воспроизведения ситуации. А ситуации могут быть разные.
И если после этого невозможно восстановиться - может быть полный пипец.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797076
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

ну вообще IB Expert вроде как предупреждение даёт, которое ты проигнорировал.
Конечно хорошо бы сам Firebird что-то делал, но пока вот так.
Надо быть аккуратней, использовать хорошие практики, и смотреть что тебе пишет среда разработки.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797083
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959Я просто показал пример для воспроизведения ситуации
эта "ситуация" известна и описана много лет назад.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797130
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну уже посыпал свою голову пеплом.....
Что ВЫ клюете и клюете....?
Процедуры, вызывающие эту, написаны год назад в самом начале реализации проекта и сейчас никакой ценности не представляют....
Вопрос же в другом.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797240
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я так понял - перед тем как делать копию. Пользуясь IBExpert
1. Обязательно произвести перекомпиляцию всех процедур. Исправить ошибки
2.Запустить проверку БД. Кстати - какую(имея ввиду IBExpert)
Еще что-нибудь нужно сделать?
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797248
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наоборот. Копию надо делать перед накатыванием на базу скрипта обновления
структуры. Вне зависимости от того каким инструментом этот скрипт накатывается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797257
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry SibiryakovНаоборот. Копию надо делать перед накатыванием на базу скрипта обновления
структуры. Вне зависимости от того каким инструментом этот скрипт накатывается.

Не понял.... Или Вы не поняли.
Разговор шел о том как правильно сделать копию БД НЕ В ПРОДАКШЕНЕ . В которой может быть ошибок как собак нерезаных......Для себя.
Для продакшена у меня все сделано. 8 лет работает(три раза плюнул через левое плечо)......
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797260
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Процедуры ничем не отличаются. Более того, они не должны отличаться для раннего
обнаружения ошибок в скрипте обновления.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797264
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче. Поехал в командировку на неделю по другому проекту. Дали там бубук и доступ к серваку.
Нудно все было. Решил вечерами поработать над новым проектом. На флешке была копия БД нового проекта. И отлетел - как от стенки........
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797267
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959В которой может быть ошибок как собак нерезаных......Для себя.
сохраняешь скрипт (isql -x) и nbackup -b 0 ...
Если базу вдруг поразит молния, и копия будет такая же кривая - есть скрипт, из которого базу можно легко воссоздать. А если скрипт кривой, так его можно отредактировать.

Собственно, если надо проверить "восстановимость" метаданных, то это быстро делается gbak -b -g -m ... gbak -c. Ну или gbak -b -g ... gbak -c -m.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797275
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Блин....
Мне страшно важны и данные.... Даже прежде всего.....
В этой базе есть старая база по-таблично(импортированая из DBF ) и моя новая...
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797278
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

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

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

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

Всё это относится не только к разработке и продакшну, но и к случаям повреждения БД из-за сбоев. Резервное копирование - оно такое, либо делается правильно, либо не делается (потому что не делается или потому что неправильное).
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797287
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Завяжем этот разговор.
Выводы.
1.Firebird не может восстановить базу из dump, если в нем есть невалидные объекты.
2.Но dump такой базы он делает.
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797340
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у Firebird'а нет невалидных объектов.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797419
bsa1959
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Мимопроходящийу Firebird'а нет невалидных объектов.

Птички нет? Ее нужно обязательно ввести. Это только мое мнение.
Закрываем тикет.....
...
Рейтинг: 0 / 0
Невозможно восстановление БД
    #39797472
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bsa1959,

из всех существующих СУБД статус инвалидов есть только у Оракула.
У остальных невалидные объекты есть, а статуса нет.
Птичка хотя бы старается предотвратить создание невалидных объектов, но иногда они всё таки появляются.
...
Рейтинг: 0 / 0
19 сообщений из 69, страница 3 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Невозможно восстановление БД
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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