|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Попросили посмотреть базу, мол медленно работает. Прогнал валидацию, всё в порядке. Открыл индексы и вижу, что индексы PK, FK и UNQ отключены с ключем RDB$INDEX_INACTIVE = 3. Тут говорят можно просто включить индекс, а именно выполнить ALTER INDEX ACTIVE. Выполняю - ошибка: "Cannot create foreign key constraint FK_NAME. Partner index does not exists or is inactive." Стоит FB 3.0, соответственно вручную включить индексы я не могу в системных таблицах. :) Остается только вручную их пересоздать или бэкап-рестор БД, но не об этом речь. Вопрос в том баг это или так задумано? В доках к FB 3.0 на стр. 139 написано: "Подсказка Даже если индекс находится в активном состоянии оператор ALTER INDEX ACTIVE всё равно перестраивает индекс. Таким образом, эту команду можно использовать для перестройки индексов, автоматически созданных для ограничений PRIMARY KEY, FOREIGN KEY, UNIQUE, для которых выполнение оператора ALTER INDEX INACTIVE невозможно.". В случае же с FB 3.0 ALTER INDEX INACTIVE выполняется без ошибок и более того индексы (PK, FK и UNQ) выключаются! ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:36 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Freddie26выполнить ALTER INDEX ACTIVE. Выполняю - ошибка: "Cannot create foreign key constraint FK_NAME. Partner index does not exists or is inactive." Ну так сначала первичные ключи, потом вторичные. Ясно же говорится. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:38 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Freddie26В случае же с FB 3.0 ALTER INDEX INACTIVE выполняется без ошибок и более того индексы (PK, FK и UNQ) выключаются! чего? Я во только что попробовал Код: sql 1.
Код: plaintext 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:45 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Freddie26, грохай все ограничения FK, PK и создавай заново. Перед этим бекап сделать не забудь. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:47 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Симонов Денисгрохай все ограничения FK, PK и создавай заново. Ты не с той ноги встал ? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 13:47 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
hvlad, ну а что тут ещё можно посоветовать? Вот такого RDB$INDEX_INACTIVE = 3 вообще быть не должно. Там по идее может быть 0 и 1. Как туда 3 попала хз. Ладно где то сбой в одном месте и не тот байт записался, но в нескольких местах... ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:02 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, Спасибо! Меня что-то переклинило. Показалось что ругается на то, что индекс уже есть, мол пересоздавай его и только. Слава богу удалять индексы не придется, это всего лишь копия рабочей базы :) Симонов ДенисFreddie26В случае же с FB 3.0 ALTER INDEX INACTIVE выполняется без ошибок и более того индексы (PK, FK и UNQ) выключаются! чего? Я во только что попробовал Код: sql 1.
Код: plaintext 1. 2. 3. 4.
А состояние PK было ACTIVE? Я переключал с ключа 3 на ключ 1, т.е. шило на мало поменял, вот видимо и выполнилось без проблем. Приношу свои извинения за смуту :) ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:06 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Hello, Симонов Денис! You wrote on 20 июля 2016 г. 14:04:02: Симонов Денис> Вот такого RDB$INDEX_INACTIVE = 3 вообще быть не должно.ты себя препылесосил. gbak -i Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:06 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Симонов Денисhvlad, ну а что тут ещё можно посоветовать? Вот такого RDB$INDEX_INACTIVE = 3 вообще быть не должно. Там по идее может быть 0 и 1. Как туда 3 попала хз. Ладно где то сбой в одном месте и не тот байт записался, но в нескольких местах... Скорее всего мне базу отдали после ошибки во время восстановления из бэкапа. Это по-моему объясняет появление 3 в состоянии индекса. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:07 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Симонов ДенисКак туда 3 попала хз. Код: sql 1. 2. 3. 4. 5. 6. 7.
Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:07 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Dimitry Sibiryakov, о! Спасибо. Это у меня в доке нету. Freddie26А состояние PK было ACTIVE? Я переключал с ключа 3 на ключ 1, т.е. шило на мало поменял, вот видимо и выполнилось без проблем. Да уж. Ошибка здесь по идее должна была выдаваться. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 14:17 |
|
Ошибка при ALTER INDEX ACTIVE
|
|||
---|---|---|---|
#18+
Freddie26Симонов Денисhvlad, ну а что тут ещё можно посоветовать? Вот такого RDB$INDEX_INACTIVE = 3 вообще быть не должно. Там по идее может быть 0 и 1. Как туда 3 попала хз. Ладно где то сбой в одном месте и не тот байт записался, но в нескольких местах... Скорее всего мне базу отдали после ошибки во время восстановления из бэкапа. Это по-моему объясняет появление 3 в состоянии индекса.]Именно так и есть. ... |
|||
:
Нравится:
Не нравится:
|
|||
20.07.2016, 15:06 |
|
|
start [/forum/topic.php?fid=40&fpage=57&tid=1562062]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
54ms |
get tp. blocked users: |
2ms |
others: | 269ms |
total: | 420ms |
0 / 0 |