Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Потеря данных firebird 2.5 Linux Ubuntu 14 / 25 сообщений из 67, страница 1 из 3
04.04.2014, 14:53:11
    #38605556
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Добрый день.
Друзья выручайте.

База данных 2Гб. 7-8 коннектов. страница 4096
Firebird 2.5 SuperClassic, force write = on
Операционная система Ubuntu 14
Сервер Firebird 2.5 SuperClassic для unix запускается на ubuntu 14
Клиентский софт для Windows запускается под wine, соответственно стоит клиент 2.5 windows, как на сервере так и на клиентских машинах.

Куда копать не знаю поэтому описываю что имею.

Проблема следующая:
Потеря документов за пол дня у одного коннекта, в это время другие коннекты данные не потеряли. Точнее сказать документы сохранились в БД у всех кроме одного коннекта.

Алгоритм работы программы следующий:
Начала работы:
1. При открытии программы запускается хранимая процедура которая считывает не завершённый документ этого рабочего места, если его нет, тогда создаёт документ без позиций.
2. Производим commit transaction.
3. Для отображения на экране открываем другую транзакцию и считываем данные по документу.
Добавление позиции:
1. Добавление позиции производится при помощи хранимой процедуры в таблицу БД.
2. Производим commit transaction.
3. Для отображения на экране открываем другую транзакцию и считываем данные по документу.
Уменьшение остатков в БД:
1. Запускаем хранимую процедуру проведения документа.
2. Производим commit transaction.
3. Создаём хранимой процедурой новый документ.
4. Производим commit transaction.
5. Для отображения на экране открываем другую транзакцию и считываем данные по документу.

Торговый документ обрабатываемый пользователем, на определённом рабочем месте, запоминается в БД и работать с другим торговым документом, с этого рабочего места, запрещено до полного проведения.

Описание последовательности действий пользователя при котором второй раз возникает такая ошибка:
1. Человек работал без закрытия клиентской программы 2-е суток.
2. Вечером пользователь не успевает провести торговый документ и оставляет его на следующий день. Компьютер и программа на ночь не выключается.
3. Утром, новый пользователь не закрывая программу проводит торговый документ (оставленный с предыдущего дня). После этого компьютер не перезагружается.
4. Долее создаются и проводятся, без ошибок в БД, новые торговые документы в количестве 15 штук.
5. Параллельно на других компьютерах: принимали товар, создавали торговые документы.
6. Когда решили добавить в торговый документ только что принятый товар, программа не обнаружила остаток в БД. Одновременно с этим на других компьютерах товар числился на запасах.
7. Пользователь корректно закрывает программу и перезагружает компьютер.
8. При запуске программы она считывает текущий торговый документ из БД как прописано в алгоритме "Начало работы".
9. Пользователь видит торговый документ который был утром.
10. Проверка списка торговых документов на этом компьютере показывает что все торговые документы отсутствуют т.е. как будто ни кто не работал пол дня на данном рабочем месте.
11. В тоже самое время список торговых документов за этот день на других компьютерах есть и верен.

После проверки в БД документы не обнаружили.

Левых баз данных нет. (если кто то предположит что подключились к копии)
Не знаю как это может быть.
Проводки были, ошибок нет, если бы были ошибки программа бы их вывела.
Документов нет.

Заранее спасибо.
...
Рейтинг: 0 / 0
04.04.2014, 15:31:55
    #38605600
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351Куда копать не знаю поэтому описываю что имею.
Лично я бы начал с того, что сменил пароль SYSDBA и владельца БД. Потом повесил на таблицу
пропадающих документов триггер в лучшем случае выбрасывающий исключение при попытке
удаления, а в худшем - протоколирующий этот факт где-нибудь.

Вот когда на руках будут логи операций с указанием имени пользователя и его компа - можно
будет копать конкретно.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
04.04.2014, 16:46:46
    #38605673
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351,

я советую либо аудитом-трейсом, либо FBScanner-ом промониторить одно приложение, а потом уже делать выводы, "как такое могло получиться".
Потому что разработчик в коде программы видит одно, а на деле оно работать может совсем по другому.

Bad_boY3511. Человек работал без закрытия клиентской программы 2-е суток.
в программе в это время активных транзакций (не read read_committed) быть не должно. проверить можно в mon$transactions.

Ну и посмотрите вот это
http://www.ibase.ru/devinfo/optimize.htm
с "Транзакции" (посередине).
...
Рейтинг: 0 / 0
05.04.2014, 00:54:27
    #38605933
NikolayV81
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
А не может быть ситуации что программа не отрабатывает ошибки коммита, и продолжает работать в той же транзакции? Или ещё какие ошибки скрываются, как то очень подозрительно выглядит...
...
Рейтинг: 0 / 0
07.04.2014, 06:30:57
    #38606800
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Dimitry SibiryakovBad_boY351Куда копать не знаю поэтому описываю что имею.
Лично я бы начал с того, что сменил пароль SYSDBA и владельца БД. Потом повесил на таблицу
пропадающих документов триггер в лучшем случае выбрасывающий исключение при попытке
удаления, а в худшем - протоколирующий этот факт где-нибудь.

Вот когда на руках будут логи операций с указанием имени пользователя и его компа - можно
будет копать конкретно.

Структура базы не простая удалить данные руками не так то просто следы останутся.
Логи операций пишутся в текстовый лог. И ошибок там нет. Тригер бесполезно делать, как так похоже что все что делается в этой транзакции не сохраняется, вопрос почему? не понятно. Так как ошибок транзакции не выдает.
По текстовому логу все чисто и без ошибок.
...
Рейтинг: 0 / 0
07.04.2014, 06:36:51
    #38606803
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
kdvBad_boY351,

я советую либо аудитом-трейсом, либо FBScanner-ом промониторить одно приложение, а потом уже делать выводы, "как такое могло получиться".
Потому что разработчик в коде программы видит одно, а на деле оно работать может совсем по другому.

Bad_boY3511. Человек работал без закрытия клиентской программы 2-е суток.
в программе в это время активных транзакций (не read read_committed) быть не должно. проверить можно в mon$transactions.

Ну и посмотрите вот это
http://www.ibase.ru/devinfo/optimize.htm
с "Транзакции" (посередине).

50 торговых точек. 2-а случая за 2-е недели на разных точка. Ставить везде FBScanner, покупать на все торговые точки накладно. А аудит-трейс под Linux я так понял не работает. FBScanner есть и бесплатный но не сохраняет работу в файл, а без этого проблема отследить, так как о факте узнаем через день в лучшем случае.
...
Рейтинг: 0 / 0
07.04.2014, 06:44:20
    #38606805
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
NikolayV81А не может быть ситуации что программа не отрабатывает ошибки коммита, и продолжает работать в той же транзакции? Или ещё какие ошибки скрываются, как то очень подозрительно выглядит...
С точки зрения программы, ошибки коммита всегда выводились, по крайней мере на windows, сейчас перешли на Linux софт работает по wine и параллельно перешли с firebird 2.1.3 на 2.5 SuperClassic (потому что тесты показали увеличение производительности).
Как я уже и писал текстовые логи пишутся ошибок коммита или других ошибок из транзакции не было.
В логах firebird бала только одна ошибка об обрыве соединения. Время обрыва совпадает с перезагрузкой компьютера перед тем как обнаружилась потеря данных.
...
Рейтинг: 0 / 0
07.04.2014, 09:02:13
    #38606861
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351.... Тригер бесполезно делать, как так похоже что все что делается в этой транзакции не сохраняется....
В триггере пиши в external table
...
Рейтинг: 0 / 0
07.04.2014, 09:22:35
    #38606880
dimitr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351аудит-трейс под Linux я так понял не работает
и откуда так понял?
...
Рейтинг: 0 / 0
07.04.2014, 09:30:36
    #38606886
Симонов Денис
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351А аудит-трейс под Linux я так понял не работает

ты это Таблоиду скажи который каждый день его запускает
...
Рейтинг: 0 / 0
07.04.2014, 09:57:11
    #38606903
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
m7mBad_boY351.... Тригер бесполезно делать, как так похоже что все что делается в этой транзакции не сохраняется....
В триггере пиши в external table
Не нашел описания, Разве external table не требуют commit?
...
Рейтинг: 0 / 0
07.04.2014, 09:59:32
    #38606905
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351m7mпропущено...

В триггере пиши в external table
Не нашел описания, Разве external table не требуют commit?
А искал?
...
Рейтинг: 0 / 0
07.04.2014, 10:03:25
    #38606909
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
dimitr,

Я с ним не работал по гуглил, не нашел примеров работы под Linux. Может не тот софт нашел, плиз на название программы правильно как пишется?
Да и у меня около 50 торговых точек, на каждой свая база данных, на какой выстрелит не знаю. Можно конечно поставить на все, но
аудитом-трейсом есть бесплатная версия и умеет ли она записывать монитор в файл? Так как онлайн отслеживать 50 баз не реально,
только просматривать логи постфактум.
...
Рейтинг: 0 / 0
07.04.2014, 10:15:26
    #38606920
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
wadmanBad_boY351пропущено...

Не нашел описания, Разве external table не требуют commit?
А искал?
Искал, и явного сказания, что коммит не требуется не видел. Да есть описание что типа можно в одном запросе создать таблицу записать данные и удалить таблицу. По идеи файл должен остаться, ну и конечно данные запишутся.
Так что да искал просто хотел узнать наверняка и не догадками.
...
Рейтинг: 0 / 0
07.04.2014, 10:20:00
    #38606924
wadman
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351Так что да искал просто хотел узнать наверняка и не догадками.
Это текстовый файл, какой там коммит?
...
Рейтинг: 0 / 0
07.04.2014, 10:22:54
    #38606927
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Hello, wadman!
You wrote on 7 апреля 2014 г. 10:21:55:

wadman> Это текстовый файл, какой там коммит? жОсткий!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
07.04.2014, 10:23:36
    #38606928
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351похоже что все что делается в этой транзакции не сохраняется, вопрос почему?Патамушта - роллбек. Ищи его.
...
Рейтинг: 0 / 0
07.04.2014, 10:28:18
    #38606936
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Вот тебе пример, чисто гипотетический, т.е. без претензий на истину:
Bad_boY3512. Вечером пользователь не успевает провести торговый документ и оставляет его на следующий день. Компьютер и программа на ночь не выключается.Сетевой стек рвёт idle соединение, сервер откатывает тр-цию, программа понятия об этом не имеет
Bad_boY3513. Утром, новый пользователь не закрывая программу проводит торговый документ (оставленный с предыдущего дня). После этого компьютер не перезагружается.Программа получает и "глотает" ошибку потери связи и "прозрачно для пользователя" устанавливает новый коннект.
...
Рейтинг: 0 / 0
07.04.2014, 10:43:37
    #38606952
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
hvladВот тебе пример, чисто гипотетический, т.е. без претензий на истину:
Bad_boY3512. Вечером пользователь не успевает провести торговый документ и оставляет его на следующий день. Компьютер и программа на ночь не выключается.Сетевой стек рвёт idle соединение, сервер откатывает тр-цию, программа понятия об этом не имеет
Bad_boY3513. Утром, новый пользователь не закрывая программу проводит торговый документ (оставленный с предыдущего дня). После этого компьютер не перезагружается.Программа получает и "глотает" ошибку потери связи и "прозрачно для пользователя" устанавливает новый коннект.
Ошибки потери связи программа не глотает и программа так построена, что на протяжении проведения документа данные сохраняются в базу коммит, после читаем стоимость всего документа и только после это проводим. Следовательно если бы бы RollBack стоимость бы не пересчиталась.
А обрыв связи не теряет состояние документа на данном рабочем месте все сохраняется. Максимум последнее действие, а не 30 последующих документов.

Больше похоже на то, что действительно ошибка коммита и прога ее не показала, причем софт не менялся а на винде все ошибки выводились, может глюк из за wine?
...
Рейтинг: 0 / 0
07.04.2014, 10:45:36
    #38606954
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351может глюк из за wine?с логгированием?
это да, может и с ним.
никто вам никогда не гарантирует 100% совместимость и поддержку виндовых прог в вайне.
ЗЫ перевод клиентов с винды на линукс - дело сомнительное, ИМХО.
...
Рейтинг: 0 / 0
07.04.2014, 10:54:23
    #38606963
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Ребят понимаю что инфы мало, но проблема есть, что написать о проблема кроме того что уже написано не знаю.

Может кто сталкивался с проблемами в связке сервер linux клиент windows под wine. Может здесь где проблема?
Я лично больше грешу на firebird client под wine.
Так же может быть из за перехода с classic server на SuperClassic.
Прошу мысли что может быть и варианты как решить?
...
Рейтинг: 0 / 0
07.04.2014, 10:57:04
    #38606967
Bad_boY351
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
roadsterBad_boY351может глюк из за wine?с логгированием?
это да, может и с ним.
никто вам никогда не гарантирует 100% совместимость и поддержку виндовых прог в вайне.
ЗЫ перевод клиентов с винды на линукс - дело сомнительное, ИМХО.
Согласен полностью, но задача стояла за месяц, приложение которое писали несколько лет перевести на linux.
Причем используется драйвер ККМ АТОЛ а он только под wine работает. АТОЛ в принципе с linux не работают.
...
Рейтинг: 0 / 0
07.04.2014, 11:01:01
    #38606974
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351Может здесь где проблема?
Я лично больше грешу на firebird client под wine.и там и там может быть вайн-проблем.
Bad_boY351Так же может быть из за перехода с classic server на SuperClassic.здесь я вообще не понял аргументов к переходу на другую архитектуру, при 7-8 коннектах вы много памяти не наэкономите. кроме экономии памяти не вижу смысла менять классик на суперклассик.
Bad_boY351Прошу мысли что может быть и варианты как решить?hvlad уже озвучил мысли.
варианты следуют из них:
1. разобрать логику работы программы
2. переписать всё нафик
...
Рейтинг: 0 / 0
07.04.2014, 11:02:11
    #38606976
roadster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351задача стояла за месяц, приложение которое писали несколько лет перевести на linux.
Причем используется драйвер ККМ АТОЛ а он только под wine работает. АТОЛ в принципе с linux не работают.согласились?
теперь разгребайтесь.
...
Рейтинг: 0 / 0
07.04.2014, 11:32:20
    #38607013
m7m
m7m
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Потеря данных firebird 2.5 Linux Ubuntu 14
Bad_boY351Может кто сталкивался с проблемами в связке сервер linux клиент windows под wine. Может здесь где проблема?
Я лично больше грешу на firebird client под wine.
Таких проблем не замечал.
зы. уточняю
В такой связке ведется разработка
и в такой связке работают некоторые наши заказчики
ззы. Это конечно не означает что их не может быть
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Потеря данных firebird 2.5 Linux Ubuntu 14 / 25 сообщений из 67, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]