ошибки в БД

Обсуждение программных комплексов "Smeta.RU" и "BabyСмета"

Модератор: Модераторы




ошибки в БД

Сообщение phil777 Вт Авг 02, 2016 14:53

Добрый день. Помогите с ситуацией: база 8.0.0.36. Установлена на севере. Три клиентских места с ключами, соответственно работают по сети. Периодически программа начала зависать. Пишет поиск данных и висит. Проверка БД в файле log1.txt. Ремонт БД в файле log2.zip.

Как победить? Заранее спасибо!
Вложения
log2.zip
(735.5 Кб) Скачиваний: 463
log1.txt
(959 байт) Скачиваний: 487
Аватара пользователя
phil777
Новенький
Новенький
 
Сообщения: 2
Зарегистрирован: Вт Авг 02, 2016 14:43
Откуда: Москва
Репутация: 0 (?)

Ваша реклама

google adsense
Группа компаний «СтройСофт»
Зарегистрирован: Чт Авг 22, 2002 11:06

Откуда: Москва

Re: ошибки в БД

Сообщение Semenov Вт Авг 02, 2016 15:20

phil777 писал(а):Пишет поиск данных и висит.
Можно подробнее описать, где пишет и при выполнении каких действий (скриншоты приветствуются). Сообщение может быть связано с выполнением продолжительного запроса...

По поводу ошибок при ремонте - инструкция тут
Аватара пользователя
 Semenov
Един с Силой
Един с Силой
 
Сообщения: 2015
Зарегистрирован: Пт Апр 30, 2004 0:58
Откуда: Москва
Репутация: 24 (?)

Re: ошибки в БД

Сообщение phil777 Вт Авг 02, 2016 15:56

ок. буду ждать, как проявится. Выложу. Прошу пока тему не закрывать
Аватара пользователя
phil777
Новенький
Новенький
 
Сообщения: 2
Зарегистрирован: Вт Авг 02, 2016 14:43
Откуда: Москва
Репутация: 0 (?)

Re: ошибки в БД

Сообщение arbeiten Пн Авг 08, 2016 15:40

Ошибка в базе.

Ответ тех.поддержки:

С базой ничего криминального, ошибки при ремонте связаны с наличием "не корректных" индексов, которые могли быть по причине сбоя в оборудовании или же внезапного обрыва сети. Судя по логу проблема в таблице M_ZONE_USE. Ее необходимо очистить. Откройте IbExpert и в меню таблицы нажмите "Очистить таблицу". Как пользоваться IbExpert в приложении.
После удаления база должна быть "ремонтируемой". Перед операцией сделайте на всякий случай копию БД, предварительно переименовав ее (что бы убедиться, что к БД нет подключений).
+ На всякий случай (лишнее точно не будет) выполните и эти запросы
с помощью IBExpert (можно скачать в инете) или isql (входит в состав firebird):
КОД: ВЫДЕЛИТЬ ВСЁ
delete from A_S_RES_CENLVL where not exists (select * from A_S_RES where A_S_RES.ID=A_S_RES_CENLVL.ID); delete from A_SMETA_INDLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_INDLVL.ID); delete from A_SMETA_CENLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_CENLVL.ID); и лишние записи будут удалены

Как очистить таблицу кто-нибудь знает? :D

При выполнении скрипта :
Код: Выделить всё
delete from A_S_RES_CENLVL where not exists (select * from A_S_RES where A_S_RES.ID=A_S_RES_CENLVL.ID); delete from A_SMETA_INDLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_INDLVL.ID); delete from A_SMETA_CENLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_CENLVL.ID);
Вложения
скрин.jpg
скрин.jpg (63.66 Кб) Просмотров: 7972
Лог.zip
(764.73 Кб) Скачиваний: 492
Аватара пользователя
 arbeiten
Ветеран форума
Ветеран форума
 
Сообщения: 893
Зарегистрирован: Ср Июл 10, 2013 21:44
Откуда: Москва
Репутация: 11 (?)

Re: ошибки в БД

Сообщение Timur Пн Авг 08, 2016 15:50

arbeiten писал(а):Как очистить таблицу кто-нибудь знает?
Вложения
Снимок.JPG
Снимок.JPG (59.11 Кб) Просмотров: 7966
Аватара пользователя
 Timur
Един с Силой
Един с Силой
 
Сообщения: 2139
Зарегистрирован: Ср Ноя 29, 2006 16:36
Откуда: Москва
Репутация: 42 (?)

Re: ошибки в БД

Сообщение arbeiten Пн Авг 08, 2016 15:56

Timur , благодарю!

Теперь такая ошибка:
Ошибка.jpg
Ошибка.jpg (43.29 Кб) Просмотров: 7964


При выполнении скрипта из сообщения тех.поддержки такая ошибка:
Invalid token.
Dynamic SQL Error.
SQL error code = -104.
Token unknown - line 1, column 143.
delete.
Аватара пользователя
 arbeiten
Ветеран форума
Ветеран форума
 
Сообщения: 893
Зарегистрирован: Ср Июл 10, 2013 21:44
Откуда: Москва
Репутация: 11 (?)

Re: ошибки в БД

Сообщение Semenov Вт Авг 09, 2016 16:40

можно попробовать следующее:

1. удалить индекс по таблице M_ZONE_USE:
Код: Выделить всё
ALTER TABLE M_ZONE_USE DROP CONSTRAINT PK_M_ZONE_USE
2. выполнить ремонт БД средствами Программы мониторинга;
3. очистить таблицу M_ZONE_USE (как рекомендовалось ранее);
4. воссоздать индекс по таблице M_ZONE_USE:
Код: Выделить всё
ALTER TABLE M_ZONE_USE ADD CONSTRAINT PK_M_ZONE_USE PRIMARY KEY (ID_USER, ID_ZONE)


arbeiten писал(а):При выполнении скрипта из сообщения тех.поддержки такая ошибка... Token unknown - line 1, column 143...
Запросы следует выполнять по одному, выделяя текст, разделенный символом ";"
Аватара пользователя
 Semenov
Един с Силой
Един с Силой
 
Сообщения: 2015
Зарегистрирован: Пт Апр 30, 2004 0:58
Откуда: Москва
Репутация: 24 (?)

Re: ошибки в БД

Сообщение arbeiten Ср Авг 10, 2016 9:37

Semenov писал(а):можно попробовать следующее:

1. удалить индекс по таблице M_ZONE_USE:
Код: Выделить всё
ALTER TABLE M_ZONE_USE DROP CONSTRAINT PK_M_ZONE_USE
При выполнении этой операции такое сообщение:
This operation is not defined for system tables.
unsuccessful metadata update.
CONSTRAINT PK_M_ZONE_USE does not exist.
Аватара пользователя
 arbeiten
Ветеран форума
Ветеран форума
 
Сообщения: 893
Зарегистрирован: Ср Июл 10, 2013 21:44
Откуда: Москва
Репутация: 11 (?)

Re: ошибки в БД

Сообщение Semenov Ср Авг 10, 2016 10:31

Варианты:
- запрос был выполнен повторно - переходите к следующему пункту.
- была выбрана база, полученная в результате неудачных попыток ее отремонтировать или других манипуляций, с поврежденными или неполными метаданными - взять копию базы до выполнения манипуляций, или приложить полный лог проверки, ремонта и фрагмент файла firebird.log (относящийся к времени выполнения проверки) для уточнения характера повреждений.
Аватара пользователя
 Semenov
Един с Силой
Един с Силой
 
Сообщения: 2015
Зарегистрирован: Пт Апр 30, 2004 0:58
Откуда: Москва
Репутация: 24 (?)

Re: ошибки в БД

Сообщение arbeiten Ср Авг 10, 2016 12:06

Вопрос снят! База отремонтирована!

Что было сделано. Последовательно команды:
1.
Код: Выделить всё
delete from A_S_RES_CENLVL where not exists (select * from A_S_RES where A_S_RES.ID=A_S_RES_CENLVL.ID)

Код: Выделить всё
delete from A_SMETA_INDLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_INDLVL.ID)

Код: Выделить всё
delete from A_SMETA_CENLVL where not exists (select * from A_SMETA where A_SMETA.ID=A_SMETA_CENLVL.ID)

2. удаление индекса по таблице M_ZONE_USE:
Код: Выделить всё
ALTER TABLE M_ZONE_USE DROP CONSTRAINT PK_M_ZONE_USE
3. выполнил ремонт БД средствами Программы мониторинга;
4. очистил таблицу M_ZONE_USE
5. воссоздал индекс по таблице M_ZONE_USE:
Код: Выделить всё
ALTER TABLE M_ZONE_USE ADD CONSTRAINT PK_M_ZONE_USE PRIMARY KEY (ID_USER, ID_ZONE)


Благодарности: тех.поддержке, Semenov, Timur

Из бонусов: размер базы уменьшился на 2Гб :D
Аватара пользователя
 arbeiten
Ветеран форума
Ветеран форума
 
Сообщения: 893
Зарегистрирован: Ср Июл 10, 2013 21:44
Откуда: Москва
Репутация: 11 (?)

Re: ошибки в БД

Сообщение expert69 Ср Авг 10, 2016 13:50

arbeiten писал(а):
Из бонусов: размер базы уменьшился на 2Гб :D



Ремонтируйте базу почаще )
Аватара пользователя
 expert69
Ветеран форума
Ветеран форума
 
Сообщения: 716
Зарегистрирован: Ср Сен 05, 2012 12:49
Откуда: Тверь
Репутация: 7 (?)

Re: ошибки в БД

Сообщение sarus Пн Авг 15, 2016 15:58

Приветствую!
У нас наблюдаются такие ошибки:

15.08.2016 - 11:25:38
Сохранение базы данных
C:\StroySoft\Server\Base\DataSD.ssd
в файл C:\StroySoft\Server\Base\Backup\DataSD_2016_08_15.gbk
сохранение прервано т.к. в базе данных найдены следующие ошибки

Summary of validation errors

Number of record level errors : 1
Number of database page errors : 5
Завершение операции: 15.08.2016 - 11:42:35
Длительность: 00:16:57

***************************

15.08.2016 - 11:53:54
Ремонт базы данных
C:\StroySoft\Server\Base\DataSD.ssd
закончен неудачно
Завершение операции: 15.08.2016 - 12:37:11
Длительность: 00:43:16


Ремонт БД не помогает.
Может подскажите, как их победить?
Аватара пользователя
sarus
Новенький
Новенький
 
Сообщения: 5
Зарегистрирован: Чт Июл 03, 2014 9:32
Откуда: Москва
Репутация: 0 (?)

Re: ошибки в БД

Сообщение sarus Пн Авг 15, 2016 16:05

вот что еще в логе есть:
[0144677] gbak:cannot commit index FK_A_SMETA_CENLVL_ID
[0144678] gbak: ERROR:violation of FOREIGN KEY constraint "FK_A_SMETA_CENLVL_ID" on table "A_SMETA_CENLVL"
[0144679] gbak: ERROR: Foreign key reference target does not exist
[0144680] gbak: activating and creating deferred index FK_A_SMETA_CENLVL_IDCENLVL
[0144681] gbak: activating and creating deferred index FK_A_S_RES_CENLVL_ID
[0144682] gbak:cannot commit index FK_A_S_RES_CENLVL_ID
[0144683] gbak: ERROR:violation of FOREIGN KEY constraint "FK_A_S_RES_CENLVL_ID" on table "A_S_RES_CENLVL"
[0144684] gbak: ERROR: Foreign key reference target does not exist
[0144685] gbak: activating and creating deferred index FK_A_S_RES_CENLVL_IDCENLVL
[0144686] gbak: activating and creating deferred index FK_A_LZ_CENLVL_ID
[0144687] gbak: activating and creating deferred index FK_A_LZ_CENLVL_IDCENLVL
[0144688] gbak: activating and creating deferred index FK_A_S_ETALON_RES_CENLVL_ID
[0144689] gbak: activating and creating deferred index FK_A_S_ETALON_RES_CENLVL_IDCENL
[0144690] gbak: activating and creating deferred index FK_L_SSR_PARAMS2_ID_SELF
[0144691] gbak: activating and creating deferred index FK_L_SSR_CENLVL_ID_REC
[0144692] gbak: activating and creating deferred index FK_L_SSR_TIP_ZATRAT
[0144693] gbak: activating and creating deferred index FK_D_GR_RES_CEN_LEVELS_ID_CEN_L
[0144694] gbak: activating and creating deferred index FK_D_GR_RES_CEN_LEVELS_ID_GRRES
[0144695] gbak: activating and creating deferred index FK_D_GROUPED_RES_SOURCE_CEN
[0144696] gbak: activating and creating deferred index FK_D_GROUPED_RES_UNDO_FK_ID
[0144697] gbak: activating and creating deferred index FK_D_GR_RES_CEN_LEVELS_UNDO_1
[0144698] gbak: activating and creating deferred index FK_A_SMETA_INDLVL_ID
[0144699] gbak:cannot commit index FK_A_SMETA_INDLVL_ID
[0144700] gbak: ERROR:violation of FOREIGN KEY constraint "FK_A_SMETA_INDLVL_ID" on table "A_SMETA_INDLVL"
[0144701] gbak: ERROR: Foreign key reference target does not exist
[0144702] gbak: activating and creating deferred index FK_A_SMETA_INDLVL_IDCENLVL
[0144703] gbak: activating and creating deferred index FK_A_SMETA_INDLVL_DESCR_ID
[0144704] gbak: activating and creating deferred index FK_A_SMETA_INDLVL_DR_IDCENLVL
[0144705] gbak: activating and creating deferred index FK_SM_NORM_VREMENN_IDPARENT
[0144706] gbak: activating and creating deferred index FK_SM_NORM_ZU_VIDRAB_IDPARENT
[0144707] gbak: activating and creating deferred index FK_SM_NORM_ZU_IDVIDRAB
[0144708] gbak: activating and creating deferred index FK_SM_NORM_ZU_CLZONES_IDPARENT
[0144709] gbak: activating and creating deferred index FK_L_SSR_IDVRZUCL
[0144710] gbak: activating and creating deferred index FK_L_SSR_FORMULS_CENLVL_IDCENLV
[0144711] gbak: activating and creating deferred index FK_L_SSR_FORMULS_CENLVL_NM_FRM
[0144712] gbak: activating and creating deferred index FK_M_HR_RECS_1
[0144713] gbak: activating and creating deferred index FK_M_USERS_PARAMS_2_ID
[0144714] gbak: committing metadata
[0144715] gbak:finishing, closing, and going home
[0144716] gbak:Database is not online due to failure to activate one or more indices.
[0144717] gbak:Run gfix -online to bring database online without active indices.
Аватара пользователя
sarus
Новенький
Новенький
 
Сообщения: 5
Зарегистрирован: Чт Июл 03, 2014 9:32
Откуда: Москва
Репутация: 0 (?)

Re: ошибки в БД

Сообщение Voyager`tm Вт Авг 16, 2016 9:36

выполните п.1 из этого сообщения
forum4/topic37448.html#p113445
потом запустите ремонт базы данных.
если есть затруднения как выполнить п.1, то поиском по форуму по строке A_SMETA_INDLVL или похожей, там все инструкции с картинками.
Аватара пользователя
 Voyager`tm
Един с Силой
Един с Силой
 
Сообщения: 759
Зарегистрирован: Пт Дек 04, 2009 10:34
Откуда: Москва
Репутация: 7 (?)



Вернуться

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1




© 1995-2019 Группа компаний «СтройСофт»