| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Firebird, Interbase > База лечится запросами! |
| Автор: Antony41 26.10.2013, 12:42 |
| есть программа сервер, есть БД, так вот выяснилось что сервер не может запуститься потому что не может прочитать таблицу LAST_POINTS, сначала делали бэкап, но вскоре выяснилось, что лечится так. Открываю IBExpert, делаю запросы select * from last_points rows 1 to 5 select * from last_points rows 1 to 10 select * from last_points rows 1 to 15 select * from last_points rows 1 to 20 ... select * from last_points rows 1 to 465 (это последний) при чем каждый запрос обрабатывается от 5-30 секунд, но затем если его повторить выдает в долю секунды. т.е выполняю например select * from last_points rows 1 to 5 (ждет 5-30-60 сек. и выдает результат) затем снова выполняю его же select * from last_points rows 1 to 5 и выдается ответ в долю секунды, при чем я могу закрыть IBExpert перезагрузить комп, это ни как не влияет, если я первый раз сделал select этих записей, то потом он будет выдавать их за долю секунды. После этих всех запросов открываю программу СЕРВЕР, и она запускается, потому что смогла прочитать записи с таблице LAST_POINTS. Кто ни будь подскажите с чем это связано. |
| Автор: Akella 26.10.2013, 15:03 |
Firebird именно так и отвечает программе: Не могу прочитать таблицу LAST_POINTS? |
| Автор: Antony41 26.10.2013, 15:50 |
| нет это было замечено, при бэкапе только этой таблицы, сервер запускался |
| Автор: Akella 26.10.2013, 16:23 |
| Можно ещё раз и по-русски? |
| Автор: Antony41 26.10.2013, 17:22 | ||
| программа скаут-сервер не запускается, висит на логотипе. всё это из за того что она не может прочитать таблицу в БД под названием Last_Points можно сделать ремонт бызы средствами FireBird (gbak), но можно так Открываю IBExpert открываю поврежденную базу, и начинаю выполнять поочереди запросы select * from last_points rows 1 to 5 select * from last_points rows 1 to 10 select * from last_points rows 1 to 15 select * from last_points rows 1 to 20 ... select * from last_points rows 1 to 465 (это последний) в этой таблице 465 записей, при каждом выполнении select'a проходит от 5 секунд до n минут (1,2 минуты), после чего IB мне показывает результат, но если повторить запрос он покажет результат тот же самый за долю секунды делаю 1) select * from last_points rows 1 to 5 (ждет n минут, а затем результат) 2) select * from last_points rows 1 to 5 (мгновенно выводит результат) 3) select * from last_points rows 1 to 10 (ждет n минут, а затем результат) 4) select * from last_points rows 1 to 15 (ждет n минут, а затем результат) 5) select * from last_points rows 1 to 20 (ждет n минут, а затем результат) 6) select * from last_points rows 1 to 20 (мгновенно выводит результат) и тд... после этих действий можно выполнить запрос select * from last_points rows 1 to 465 и он выполнится моментально толко после вышеописаных действий. даже если я потом перезагружу компьютер, он будет в дальнейшем выполняться мгновенно, в чем прикол? другими словами вот пример процедуры, которая восстанавливает базу
|
| Автор: Antony41 29.10.2013, 15:36 |
| Блин да как еще объяснить то... когда я делаю запрос например select * from last_points rows 1 to 20 проходит несколько минут и только потом выдается результат! В данной таблице всего около 450 записей! что не понятного то? Ни каких ошибок при этом не происходит! Добавлено через 2 минуты и 34 секунды под 'сервером' понимается не FireBird Server. |
| Автор: Akina 29.10.2013, 15:39 |
| Слушай, это уже и так понятно. А вот ТОЧНЫЙ текст сообщения об ошибке мы увидим? с точностью до количества пробелов между словами и переносов строк... Или ты так и будешь строить из себя идиота? Если даже не выводится сообщений об ошибках на экран в виде всплывающего окна - что пишется в журналах? в логах IBExpert? Чем в это время занято приложение по мнению ProcessExplorer? |
| Автор: Akella 30.10.2013, 11:23 |
| Akina, не мучай его расспросами. Не хочет он, чтобы ему помогли. Antony41, и ещё один совет на всякий случай. Ты так, как здесь, не описывай вопросы и проблемы на sql.ru, там злые дядки и могут бить ногами в живот. (образно) |