Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Автоматическое восстановление БД InterBase после сбоя [D7, IB6.x]


Slon_SCG ©   (2004-04-27 17:32:00) 

Все говорят, что InterBase (6.0) автоматически восстанавливается после сбоя: ищет незавершенные транзакции и если есть запускает функцию gfix. Но этого не происходит! Что надо делать? Писать свою программу (если да, то подскажите методику) или уже есть готовые? (IBSurgeon не предлагать. Мне б что-нибудь бесплатное)
Помогите пожалуйста. Заранее спасибо.


Romkin   (2004-04-27 18:54:00) [1]

dimm22  (27.04.04 18:52) [16] А разницы особой нет, сколько удалений, при select будет сборка мусора - тогда и притормозит. Потом - снова нормально.
Кстати, backup собирает мусор и обновляет статистику индексов ;)


dimm22   (2004-04-27 18:52:00) [2]


> dimm22  (27.04.04 18:48) [13] Поклеп, кстати. Тормозить
> может из-за массовых удалений. Или из-за висячих транзакций.
> Но никак не само по себе.

А у тебя за год какое количество удалений ;-)? Да и индексы пересоздать не лишне.


Romkin   (2004-04-27 18:49:00) [3]

dimm22  (27.04.04 18:48) [13] Поклеп, кстати. Тормозить может из-за массовых удалений. Или из-за висячих транзакций. Но никак не само по себе.


Romkin   (2004-04-27 18:48:00) [4]

Slon_SCG  (27.04.04 18:41) [11] Тебе все уже сказали, что у тебя косячит. ЗАмени IB6 на FB1.0.3, поставь у БД forced writes, и сделай backup по расписанию.
При нормально написанном приложении больше ничего делать не надо - все будет работать без ошибок.


dimm22   (2004-04-27 18:48:00) [5]


> У меня в свое время IB5.6 крутился... на win95, с отключением
> питания внезапно, два-три раза в неделю :)))
> Ничего, год без обслуживания - ошибок нет

База поди мелкая была, ибо без периодического BackUp\Restore база будет тормозить.


dimm22   (2004-04-27 18:46:00) [6]


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

Вот это да, 3 раза в месяц терялись все данные. И ты ещё жив !?
Автоматом backup делать можно с помощью утилит (Gbak Sheduler итд) В общем см Ibase.ru. А можно из своей проги см компоненты IBBackupService, IBRestoreService.
Ну и поменяй 6 ку. На другую версию.


Slon_SCG   (2004-04-27 18:41:00) [7]

:( может это приложение косячит? Да нет. Комп точно отрубался и перегружался. Даже УПС не помог...


Romkin   (2004-04-27 18:40:00) [8]

У меня в свое время IB5.6 крутился... на win95, с отключением питания внезапно, два-три раза в неделю :)))
Ничего, год без обслуживания - ошибок нет


Romkin   (2004-04-27 18:38:00) [9]

Смотря какая БД и где стоит :))
А тебе не повезло потому, что у тебя forced writes false да еще и IB6.
Ставь Yaffil или Firebird 1.0.3 (клиентскую часть тоже поменять!)


Slon_SCG   (2004-04-27 18:36:00) [10]

Это значит только мне так не повезло: 3 раза за месяц всё рушилось при скачках напряжения. А вы как делаете бэкап ручками или автоматом?


Romkin   (2004-04-27 18:31:00) [11]

Нет там логов. А данные теряются - явный симптом асинхронной записи на диск :)
Я сам лично на своей базе при работе 50 соединений (тест) стоял и жал reset... Теряются незаконченные транзакции, а вот структуру нарушить - не получалось :))


Slon_SCG   (2004-04-27 18:30:00) [12]

Вообще, как заставить IB работать СТАБИЛЬНО! Как Вы это делаете? Что можете порекомендовать? Заранее большое спасибо.


Slon_SCG   (2004-04-27 18:25:00) [13]

При сбое нарушается сама структура базы, т.е. приложение использующее эту базу тихо повисает. Лечится только заменой структуры (все данные теряются). Никак не могу заставить АВТОМАТИЧЕСКИ провести backup-restore действия.
А можно в IB бэкапить логи транзакций как это делается в Оракле?


HSolo   (2004-04-27 18:23:00) [14]

http://ibase.ru/devinfo/db_repair.htm


dimm22   (2004-04-27 18:20:00) [15]


> Мне сказали, что надо поставить для БД forced_writes=true

Этот параметр отвечает за мгновенную запись всех изменений на винт, true-сразу на винт, false- сначала в память, а при удобном случае на винт. И восстановить поломанную базу он не как не поможет. Другое дело, что при значении forced_writes=true при отключении питания ты потеряешь больше информации (ибо она в оперативке), чем при forced_writes=false. Вот и всё. А какая проблема у тебя? Что значит не восстанавливается после сбоя, у тя база не работает или ... ?


Johnmen   (2004-04-27 17:59:00) [16]

Запусти к.-л. менеджер и посмотри свойства БД.


Slon_SCG   (2004-04-27 17:41:00) [17]

Мне сказали, что надо поставить для БД forced_writes=true, а вот как это сделать не сказали. Помогите пожалуйста!


Наверх

Титульная страница Поиск, карта сайта Написать письмо