Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2009.08.09;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.51 MB
Время: 0.005 c
6-1205611995
art36
2008-03-15 23:13
2009.08.09
Обмен данными с тайм-сервером (сервером точного времени)


15-1244613139
Василий Иванов_22
2009-06-10 09:52
2009.08.09
уравнение


15-1243872383
vrem
2009-06-01 20:06
2009.08.09
Локальный сайт при включенном интернете - как?


15-1244202663
KSergey
2009-06-05 15:51
2009.08.09
Параметры (прокси) для аккаутна system


15-1244542530
Машинка
2009-06-09 14:15
2009.08.09
Блок питания 16-10v





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский