|
Активировать индексы
|
|||
---|---|---|---|
#18+
Прислали базу, в которой все индексы, кроме уникальных деактивированы. Можно ли их как-то активировать обратно? Пробовал: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
Сервер падает с ошибкой в логеinternal gds software consistency check (partner index description not found (175), file: idx.c line: 1410) Код: sql 1. 2. 3. 4.
при коммите падение с той же ошибкой. База после рестора. База 4 гига, поэтому переливать данные в чистую базу пока не хочется. И второй вопрос: как такое могло произойти? Сервер: InterBase 2017 С уважением, Vasilisk ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 18:11 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_Можно ли их как-то активировать обратно? У IBE есть специальная кнопочка для этого. _Vasilisk_И второй вопрос: как такое могло произойти? Восстановление либо не завершилось из-за ошибки, либо активация индексов была принудительна отключена опциями gbak. В первом случае в базе много чего можно недосчитаться. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 18:40 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov У IBE есть специальная кнопочка для этого. Dimitry Sibiryakov Восстановление либо не завершилось из-за ошибки, либо активация индексов была принудительна отключена опциями gbak. Код: powershell 1.
процесс завершился, лог пустой ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 18:46 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ процесс завершился, лог пустой если есть возможность, проверь её. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 19:08 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий исходная база с которой делался бекап скорее всего "поломатая". Допустим да, тогда что? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 19:14 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий если есть возможность, проверь её. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 19:20 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Сервер падает с ошибкой в логеinternal gds software consistency check (partner index description not found Поэтому утверждение _Vasilisk_ все индексы, кроме уникальных деактивированы. Чтобы это исправить, можно попробовать - активировать все обычные индексы (не относящиеся к ограничениям PK\UK\FK) и закоммитить их, - активировать оставшиеся PK\UK и закоммитить их, - активировать FK по-одному с коммитом каждого - так найдётся тот FK, для которого нет пары PS что в RDB$INDICES.RDB$INDEX_INACTIVE у неактивных индексов ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 19:44 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ процесс завершился, лог пустой ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 20:09 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_И он не активирует индексы, которые начинаются с RDB$ а зачем ему это??? Что - индексы с RDB$ тоже неактивные? про ошибку (partner index description not found (175) написано тут https://www.ibase.ru/errors/ че-то да, подозрительная база. Глянь gstat -h, если рестор был с обломом, она должна быть в shutdown. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2020, 20:57 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
hvlad Поэтому утверждение _Vasilisk_ все индексы, кроме уникальных деактивированы. Сейчас над этим работаю hvlad PS что в RDB$INDICES.RDB$INDEX_INACTIVE у неактивных индексов ? kdv Глянь gstat -h, Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
kdv если рестор был с обломом, ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:08 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_, так, комменты не по делу: база 4 гиг, а page size у нее 4к (мало, надо 8к), да еще и кэш прописан в заголовке, причем 128мб (при том что ИБ только суперсервер). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:13 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Я ее сам ресторил. Облома не видел запусти рестор с ключом -v. концовку вывода выложи сюда. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 13:19 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_> Но при их активации появляется ошибка о существовании дубликатов записей. А клиент (хозяин БД) не сообщил никаких сведений о сценарии поломки? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 14:06 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам А клиент (хозяин БД) не сообщил никаких сведений о сценарии поломки? Мимопроходящий запусти рестор с ключом -v. концовку вывода выложи сюда. Код: powershell 1.
выхлоп Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:04 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_, что за ключ -va? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:08 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий, -va[lidate] выполнять контроль данных (InterBase 7.x, 2007, 2009), по умолчанию контроль не выполняется ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:11 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_Исходная жалоба была: "Что-то все тормозит" Вангую: у них есть процедура периодического бэкап-рестора с заменой исходной БД. На одном из циклов рестор обломался из-за дубликата в первичном ключе, отсюда начались тормоза и дальнейшее заполнение дубликатами. Тебе прислали исправный бэкап уже битой базы. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:16 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov Вангую: у них есть процедура периодического бэкап-рестора с заменой исходной БД. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:20 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Dayroon Мимопроходящий, -va[lidate] выполнять контроль данных (InterBase 7.x, 2007, 2009), по умолчанию контроль не выполняется а не наоборот ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:24 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящийа не наоборот ли? Нет, именно так. Это же Interbase. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:30 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий чо-то гложут меня смутные сомненья... а не наоборот ли? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:31 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Мимопроходящий чо-то гложут меня смутные сомненья... а не наоборот ли? посмотрел ихнюю доку: http://docwiki.embarcadero.com/images/InterBase/2020/e/3/30/OpGuide.pdf описание отсутствует напрочь. одна только странная фраза: "собака - друг человека". Use to validate the database when restoring it. и всё. в чем эта "валидация" заключается, буй проссышь... убери его нахер, база на выходе БИТАЯ. проверь кстати, к той ли ты базе цепляешься, на том ли сервере, тем ли инстансом и т.д. а то бывает, глаз замыливается. смотришь в одно, а оно другое. каждый хоть раз да наступал на это. просто ну не может нормальный gbak штатно отработать рестор и оставить после себя битую базу. хотя, за дебаркадер я зуб не дам... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:40 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Итого: 1. Активируем все индексы, кроме внешних ключей Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
2. В тех местах, где возникают конфликты дубликатов вычищаем их (у меня было три группы дубликатов по две записи на одном ключе) 3. Активируем внешние ключи Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.
... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:40 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий хрень какая-то. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:46 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Мимопроходящий хрень какая-то. плацебо! ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:50 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий, ib xe7 gbak -? -VA(LIDATE) validate data причем, когда я писал в статью, проверял, и правда -va ВКЛЮЧАЛО валидацию, без нее ничего не валидировалось. Надо будет перепроверить. _Vasilisk_gbak.exe" -archive_recover што??? Это восстановление базы из "архива", который делается через -archive_database, причем это ДАМП, а не "бэкап". Почему оно не ругается на комбинацию -archive_recover -r - я не знаю. Но по смыслу это перпендикулярные опции. Ну и вообще, я уже неоднократно говорил про -r. Это путь в обрыв. Привыкнешь тестовые базы так ресторить, и в очередной раз убьешь нормальную. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:52 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_, ну проверил бы без -va. Это как сделали в ИБ 7, так я и написал. Может обратно переделали, хотя справка по гбак у ИБ хе7 утверждает что -va это именно включение проверки. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:54 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
жаль конечно что у тебя исходной базы нет. а то может оказаться что оно и в исходной было INACTIVE. и gbak это состояние честно забекапил. х.з. чо там IB позволяет в этом плане. тут "чистый экскремент" нужен! (С) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 15:54 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий жаль конечно что у тебя исходной базы нет. а то может оказаться что оно и в исходной было INACTIVE. и gbak это состояние честно забекапил. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 16:27 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящий а то может оказаться что оно и в исходной было INACTIVE. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 16:43 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Мимопроходящий а то может оказаться что оно и в исходной было INACTIVE. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 16:52 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_ Мимопроходящий а то может оказаться что оно и в исходной было INACTIVE. Или предыдущий рестор был с деактивированными индексами - по той же причине. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 17:21 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_А откуда оно могло появиться? у обычных индексов - кто-то взял и выключил. у pk-fk-unique - маловероятно, разве что через системные таблицы (и то там волшебное значение 3 надо указывать для деактивации) Ты вот спрашиваешь, и х.з. что тебе отвечать. Потому что, например, при ресторе все индексы создаются в конце рестора. У ИБ видимо осталось (было и в ФБ, но в 2.1 уже нет), что если хоть какой-то индекс активировать обломилось, то дальше все остальные индексы тоже остаются неактивными. И тут всё зависит только от порядка таблиц, как они бэкапились. Собственно. Сделал эксперимент. Взял employee.gdb. Вырубил rdb$primary1, добавил в country запись с дубликатом ПК, сделал бэкап. Делаю рестор gbak -c e.gbk e1.gdb -v Thu Jul 23 17:09:02 2020: gbak: creating indexes gbak: ERROR: connection lost to database Thu Jul 23 17:09:12 2020: gbak: Exiting before completion due to errors gbak: ERROR: connection lost to database Упало! Упал гбак, ИБ при этом не упал. Пускаю рестор с -va. gbak -c e.gbk e1.gdb -v -va На самом старте какие-то дикие тормоза. Thu Jul 23 17:13:23 2020: gbak: creating indexes Thu Jul 23 17:13:33 2020: gbak: cannot commit index RDB$FOREIGN3 gbak: ERROR: connection lost to database gbak: ERROR: connection lost to database Thu Jul 23 17:13:33 2020: gbak: Exiting before completion due to errors gbak: ERROR: connection lost to database gbak: ERROR: connection lost to database Уже лучше. Явно видно что -va действительно ВКЛЮЧАЕТ валидацию. Смотрим внутрь баз. Открываем базу от первого рестора. I/O error for file "D:\IB2017\BIN\E11.GDB". Error while trying to read from file. Достигнут конец файла. . Т.е. база тю-тю. Открываем базу рестора с -va Unsuccessful execution caused by a system error that precludes successful execution of subsequent statements. database file appears corrupt (). wrong page type. page 509 is of wrong type (expected 5, found 0). И вторая тоже того, повреждена в процессе рестора (очешуеть можно!). Тем не менее она открылась, а вот ibe системные таблицы не кажет. В rdb$indices неактивны вообще ВСЕ индексы, включая по системным таблицам. ПК-ФК на юзерские таблицы тоже неактивны все (значение 3) Чё-то какой-то пугающий эксперимент. p.s. кстати, что мне в голову впёрлась хе7, если у тебя 2017. Проверял на ней, версия 13.3.0.328, последняя (update 3). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 17:22 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
hvlad, кароч, у ИБ при ресторе коммит всех индексов идет в одной транзакции. Отсюда всё что есть - деактивировано нахрен :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 17:31 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
а если с ключом -o[ne_at_time] ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 17:35 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
Мимопроходящийа если с ключом -o[ne_at_time] ? теперь это ключ -on[e_at_a_time] потому что если написать D:\IB2017\bin>gbak -c e.gbk e1.gdb -v -va -o gbak: ERROR: ods version parameter missing Thu Jul 23 18:58:04 2020: gbak: Exiting before completion due to errors на букву О там дохрена чего -ODS(_VERSION) restore to specific major ODS version number -O(NE_AT_A_TIME) restore one table at a time -OL(D_DESCRIPTIONS) save old style metadata descriptions -OV(ERWRITE_DUMP) overwrite dump file криворукие, что с них взять. Впрочем, что с -on, что без, результат один (я ничего другого и не ожидал, т.к. -o это "не туда"). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 19:00 |
|
Активировать индексы
|
|||
---|---|---|---|
#18+
_Vasilisk_> А откуда оно могло появиться? Да откуда угодно. Ты же не знаешь, что БД, с которой снимался бэкап, - валидная. Там разные поломки могли несколько раз случиться, включая кривые руки DBA/DBD. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2020, 20:46 |
|
|
start [/forum/topic.php?all=1&fid=40&tid=1560288]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
67ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
2ms |
others: | 282ms |
total: | 458ms |
0 / 0 |