Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.08.09;
Скачать: CL | DM;

Вниз

FireBird и "спящий режим"   Найти похожие ветки 

 
GanibalLector ©   (2008-11-03 13:46) [0]

Господа, имеется вопрос.

Ситуация следующая : есть приложение, которое активно используется пользователем. Пользователь использует его как днем, так и ночью.
Т.е. ПК оставляют включенным на ночь. В некоторое время (в БД есть таблица "заданий") стартуют задания, выполняются и сохраняют данные в БД.
Так вот, система успешно работала более полугода. В данный момент, выполнение первого ночного задания приводит к "зависанию" и потери данных.
Что интересно, не всегда...есть дни, когда все работает на ура. Днем таких проблем не бывает.

Если посмотреть на одну из таблиц, в которую происходит запись, то вижу следующее :
<ID таблицы> 22123,22124,23009

Т.е., насколько я понимаю, запись в таблицу БД была, но COMMIT подвел.


Далее пользователь удаленно делает перезагрузку, запускает приложение и остальные задания успешно выполняются.


Посему вопрос...что может быть ? Может "Спящий режим"  приводит к таким последствиям ???
Заранее спасибо !


 
Loginov Dmitry ©   (2008-11-03 14:02) [1]

> Посему вопрос...что может быть ?


Все што угодно: испортилась база, испортился винт, глючит железо, заглючил сервер, заглючило клиентское ПО, пользователь,.. и т.д.


 
Anatoly Podgoretsky ©   (2008-11-03 14:05) [2]

> GanibalLector  (03.11.2008 13:46:00)  [0]

Информация об этом находится в логах.


 
GanibalLector ©   (2008-11-03 14:34) [3]

2 Anatoly Podgoretsky ©   (03.11.08 14:05) [2]

firebird.log ???


 
GanibalLector ©   (2008-11-03 14:50) [4]


SERVER (Client) Fri Oct 31 22:57:50 2008
Guardian starting: C:\Program Files\Firebird\Firebird_1_5\bin\fbserver.exe

SERVER (Client) Fri Oct 31 22:58:22 2008
The Firebird Guardian failed to startup

because another instance of the guardian

is already running.


Только мне эта инфа не о чем не говорит :(


 
Anatoly Podgoretsky ©   (2008-11-03 15:24) [5]

> GanibalLector  (03.11.2008 14:50:04)  [4]

Я не знаю, какие логи ведет Firebird.
Касательно сообщения - попытка запуска, уже запущеного охранника.


 
Правильный$Вася   (2008-11-03 15:36) [6]


> Если посмотреть на одну из таблиц, в которую происходит
> запись, то вижу следующее :<ID таблицы> 22123,22124,23009
> Т.е., насколько я понимаю, запись в таблицу БД была, но
> COMMIT подвел.

вот что-то я никак не могу из этого сделать твой вывод про коммит
что ты утаил?


 
DrPass ©   (2008-11-03 15:36) [7]


> Anatoly Podgoretsky ©   (03.11.08 15:24) [5]
> > GanibalLector  (03.11.2008 14:50:04)  [4]
>
> Я не знаю, какие логи ведет Firebird.

Практически никаких. Транзакционного лога там нет.


> GanibalLector ©   (03.11.08 13:46)  

Первым делом - проверка целостности БД, проверка, и еще раз проверка. Можно прогнать ее через Backup-Restore


 
GanibalLector ©   (2008-11-03 16:04) [8]

2 Правильный$Вася   (03.11.08 15:36) [6]

>вот что-то я никак не могу из этого сделать твой вывод про коммит
что ты утаил?

А что не понятного ?
Например : insert into testtable values (gen_id(idtesttable,1),"test")
при каждом выполнении в табл. testtable будет новая строка и в поле Id будет "старое значение + 1 ".

Вот и у меня. Я получил данные с девайсов. Сохраняю их в БД.
Примерно так :

1) IBTransaction1.StartTransaction;
2) insert into  в цикле
3) IBTransaction1.Commit


Когда случается потеря данных, то см [0]. Я про <ID таблицы> 22123,22124,23009. Если не случается, то все идет подряд.


 
GanibalLector ©   (2008-11-03 16:07) [9]

2 DrPass ©   (03.11.08 15:36) [7]

>Первым делом - проверка целостности БД, проверка, и еще раз проверка. Можно прогнать ее через Backup-Restore

Backup-Restore делал. Эффект тот-же.

Проверка целостности...хм..не делал.
Ща почитаю как делается. Или намекните ;)


 
Правильный$Вася   (2008-11-03 16:33) [10]


> выполнение первого ночного задания приводит к "зависанию"
> и потери данных.

зависанию компа или субд?
как проявляется?

> А что не понятного ?

да ты так написал, что я не врубился, что это значения одного поля, а не разных полей одной записи
да и не факт, что номера должны быть подряд
хотя логика тебе известнее, мож, у тебя дырок и не бывает
посмотри, стартована ли служба FB в момент, когда "зависает"


 
GanibalLector ©   (2008-11-03 17:05) [11]

2 Правильный$Вася   (03.11.08 16:33) [10]

Пардон. Зависает мое приложение, которое сохраняет данные в БД.
Сам FireBird при этом работает. Т.е. это комплекс программ (все остальные проги для работы с этой же БД(правда они для просмотра данных) работают).


 
Loginov Dmitry ©   (2008-11-03 17:13) [12]

> Если посмотреть на одну из таблиц, в которую происходит
> запись, то вижу следующее :
> <ID таблицы> 22123,22124,23009
>
> Т.е., насколько я понимаю, запись в таблицу БД была, но
> COMMIT подвел.


Может COMMIT подвел. Может генератор каким-образом глюкнул, перескачив сотню значений. Что угодно.
У базы расширение не *.gdb надеюсь?

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


 
GanibalLector ©   (2008-11-03 17:16) [13]

>У базы расширение не *.gdb надеюсь?

Да


 
Виталий Панасенко   (2008-11-03 17:20) [14]


> GanibalLector ©   (03.11.08 17:16) [13]

Что "да"? GDB?


 
GanibalLector ©   (2008-11-03 17:22) [15]

инет рвется :(
Да, у базы расширение gdb. FireBird 1.5


 
Loginov Dmitry ©   (2008-11-03 17:23) [16]

> Да


Опасно, если база и сервер под ХР. Файлы с расширением *.gdb регулярно резервируются, а при откате виндовс на точку восстановления ОС также восстановит и эти файлы.


 
GanibalLector ©   (2008-11-03 17:27) [17]

2 Loginov Dmitry ©   (03.11.08 17:23) [16]

В моем случаи БД это промежуточное звено. Т.е. пользователь забирает информацию из базы в свою учетную программу(каждый день).


 
Виталий Панасенко   (2008-11-03 17:34) [18]


> GanibalLector ©   (03.11.08 17:27) [17]

Но "форточки" с таким расширением файлы копируют для восстановления системы.. потому при старте транзакции идет по любому запись в файл, на что и реагирует ОС копированием файла БД.. и если размер приличный, то... сам понимаешь..тормоза


 
GanibalLector ©   (2008-11-03 17:39) [19]

Не вопрос...переделаю на fdb.
Но, ИМХО, проблема в другом.


 
Правильный$Вася   (2008-11-03 18:11) [20]


> Зависает мое приложение, которое сохраняет данные в БД.
> Сам FireBird при этом работает.

подключение к БД как локальное или по IP?
локальный коннект имеет давний глюк, не знаю, исправлено ли в современных версиях (а ты свою не указал)
поэтому даже в случае расположения на одном компе и сервера, и клиента цепляйся как 127.0.0.1/3050:c\data\xxx.fdb

и проверь по firebird.log, не прерывается ли сетевое соединение
встречал ситуации, когда обрыв модемной связи сказывался на коннектах на локальной машине, не использовавших тот модем


 
PEAKTOP ©   (2008-11-04 11:38) [21]

Посмотри у сервайсов fbguard и fbserver права на взаимодействие с рабочим столом. Сдается мне, он хэндл "защитного окна" (которое является признаком уже запущенного процесса) создать не может.
Ну, и коннект естественно должен быть сетевым "127.0.0.1:c:\data\db.fdb".
Спящий режим убить из настроек нафиг. Не для баз данных он придуман.


 
GanibalLector ©   (2008-11-04 11:45) [22]

2 PEAKTOP ©   (04.11.08 11:38) [21]

>Посмотри у сервайсов fbguard и fbserver права на взаимодействие с рабочим столом. Сдается мне, он хэндл "защитного окна" (которое является признаком уже запущенного процесса) создать не может.

А где смотреть ? Службы-"нужная"-Вход в систему- CheckBox разрешить взаимодействие с рабочим столом ?


 
PEAKTOP ©   (2008-11-05 12:36) [23]

> GanibalLector ©   (04.11.08 11:45) [22]
>А где смотреть ? Службы-"нужная"-Вход в систему- CheckBox разрешить взаимодействие с рабочим столом ?

Да



Страницы: 1 вся ветка

Текущий архив: 2009.08.09;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.01 c
2-1244966873
Guriev
2009-06-14 12:07
2009.08.09
Возможно ли такое!!!??? ))) Поле MEMO с гиперссылками?


15-1244387849
cyber-pilot
2009-06-07 19:17
2009.08.09
MapReduce на Delphi


11-1204892019
nikfel
2008-03-07 15:13
2009.08.09
Как определить Checked выбранного элемента в списке.


1-1211900401
viperv
2008-05-27 19:00
2009.08.09
скачать файл из инета


15-1244493008
Юрий
2009-06-09 00:30
2009.08.09
С днем рождения ! 9 июня 2009 вторник