|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
Всем привет. Кто-нибудь может объяснить интересную бяку в базе данных? Firebird 2.5.3 - Superserver. OS WinXP, Win7 и Win8.1. Базы данных подвергаются апдейту: - метаданные базы сравнивается с эталонной базой - полученный в результате скрипт потом проигрывается в базе. - затем для базы делается backup/restore. Производится все это с помощью IBEScript.exe. В общем последние полгода встречаются ошибки во время выполнения хранимых процедур. При попытке найти в чем именно ошибка (с подозрением на некорректные данные) выясняется, что ошибка пропадает после компиляции одной или нескольких процедур в цепочке вызова. Боюсь предположить, что это может и с триггерами происходить. Интересно еще то, что ошибка остается в файла бэкапа. То есть клиенты мне предают fbk для исследования и ошибка существует до перекомпиляции. Потом чтоб ее повторить нужно восстановить из бэкапа базу. Сравнение системных таблиц ничего не дало: До компиляции (RDB$PROCEDURE_NAME, RDB$PROCEDURE_ID, RDB$PROCEDURE_INPUTS, RDB$PROCEDURE_OUTPUTS, RDB$SECURITY_CLASS, RDB$OWNER_NAME, RDB$SYSTEM_FLAG, RDB$PROCEDURE_TYPE, RDB$VALID_BLR) Код: plsql 1. 2.
После компиляции Код: plsql 1. 2.
Разница не великая. И даже RDB$VALID_BLR у всех стоит в единице. Вопрос 1: как можно определить подобную процедуру или триггер чтоб знать, что в базе не все в порядке есть? Вопрос 2: есть ли способ перекомпилоировать все процедуры и триггеры через консольное соединение? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 16:41 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
svdВ общем последние полгода встречаются ошибки во время выполнения хранимых процедур. что именно тут понимается под ошибками? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 17:03 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
svd, сравнивать нужно BLR, а не исходники ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 17:08 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
Минутка паранойи. Голосую за то, чтобы в - метаданные базы сравнивается с эталонной базой - полученный в результате скрипт потом проигрывается в базе. - затем для базы делается backup/restore. второй и третий пункт поменять местами. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 17:19 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
dimitr, В этот раз Код: plsql 1. 2. 3.
Полгода назад, на Win8.1 выкидывало arithmetic exception or string truncate ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 17:44 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
svdСравнение системных таблиц ничего не дало: сравнивать надо rdb$procedure_blr, двоично. если они не совпадают, сравнить rdb$procedure_source. svdвыкидывало arithmetic exception or string truncate вероятно кто-то пролез мимо "процедуры апдейта метаданных". ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:01 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
svd... Базы данных подвергаются апдейту: - метаданные базы сравнивается с эталонной базой - полученный в результате скрипт потом проигрывается в базе. - затем для базы делается backup/restore. ... ИМХО, первый этап следует выполнять в лабораторных условиях, с последующим тестированием скрипта. А в базе хранить номер версии структуры (и т.п.). ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 18:13 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
kdvсравнивать надо rdb$procedure_blr, двоичноЗачем двоично ? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 19:36 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
hvlad, предлагаешь через блоб-фильтр blr сравнивать текст? ну, можно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2015, 20:14 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
hvlad, любители изощренных методов могут попробовать прогнать blr через UDF хеш-функцию... Кстати, а почему бы в FB 3.0 рядом с blr не хранить, к примеру, его SHA-1? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 03:24 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
DBConstructorпрогнать blr через UDF хеш-функцию...Всем великим песателям нечитателям доки посвящается: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 08:45 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
Firebird 2.1, пока не доводилось использовать. Спасибо, учту. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 09:28 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
DBConstructorhvlad, любители изощренных методов могут попробовать прогнать blr через UDF хеш-функцию...Нахрена козе баян ? Других слов нет. DBConstructorпочему бы в FB 3.0 рядом с blr не хранить, к примеру, его SHA-1?См выше ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 11:20 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
DBConstructorFirebird 2.1, пока не доводилось использовать.DBConstructorКстати, а почему бы в FB 3.0 ... Вот, собственно, всё, что следует знать о DBConstructor ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 13:58 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
WildSery, ответь мне на пару элементарных для тебя вопросов - какой алгоритм используется в функции HASH и какова вероятность коллизий? А то, я смотрю, ты дофига умный. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:22 |
|
Хранимые процедуры после ресторе требуют перекомпиляции
|
|||
---|---|---|---|
#18+
DBConstructor, Я не собираюсь отвечать на дебильные вопросы, не имеющие отношения к теме обсуждения. Хешей, меньших по размеру самих данных, не имеющих коллизий, не бывает, а потому рассуждать, что у вот того алгоритма меньше или больше коллизий может только демагог вроде тебя. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.12.2015, 14:59 |
|
|
start [/forum/topic.php?fid=40&msg=39131872&tid=1562445]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
62ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 287ms |
total: | 442ms |
0 / 0 |