Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / BAD PAGE / 9 сообщений из 9, страница 1 из 1
02.04.2015, 13:48
    #38925020
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
При работе с таблицей возникает ошибка:

-243 SQL error: Could not position within a table
-105 ISAM error: bad isam file format.

Сделал проверку oncheck -cD
BAD PAGE 462:336646: pg_addr 0:0 != bp->bf_pagenum 462:336646

Нашел 2 "плохие" записи в таблице.

Код: sql
1.
delete from table where id  = .... 


завершается той же ошибкой -243

Можно ли как то удалить 2 записи или страницу. Или восстановить? Что порекомендуете сделать?

IBM Informix Dynamic Server Version 10.00.UC1
...
Рейтинг: 0 / 0
02.04.2015, 17:11
    #38925365
svat2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
ga,

первое, что приходит на ум - перетянуть запросами НЕЗАПОРЧЕННЫЕ данные из этой таблицы в другую, аналогичной структуры.
Потом исходную таблицу - удалить, ее "клон" - переименовать "назад". Восстановить попортившиеся из-за удаления оригинальной таблицы связи с другими таблицами.
Вроде все?
...
Рейтинг: 0 / 0
03.04.2015, 17:49
    #38926614
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
ga,

Можно исправить .... можно и удалить ... :-) ...IBM Technical Support умеет это делать.

Если знаешь форматы внутренних структур Informix (сттраниц индексов/данных),
можно написать сценарий на Pyton или patch на С/C++ который сможет исправить ситуацию.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
14.04.2015, 09:05
    #38935516
DrGonzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
Судя по тому, что у вас адрес страницы 0:0, скорее всего похерена существенная часть страницы и восстановлению не подлежит. Поддержка Вам предложит либо метод svat2, либо восстановиться из архива (можно только одну эту страницу - см. archecker).
...
Рейтинг: 0 / 0
14.04.2015, 09:07
    #38935517
DrGonzo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
Поправка: можно только одну эту таблицу .
...
Рейтинг: 0 / 0
29.12.2015, 12:37
    #39139967
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
GVF112GVFga,

Если знаешь форматы внутренних структур Informix (сттраниц индексов/данных),
можно написать сценарий на Pyton или patch на С/C++ который сможет исправить ситуацию.

С уважением,
Вадим.

А есть у кого нибудь формат?
...
Рейтинг: 0 / 0
29.12.2015, 12:39
    #39139970
ga
ga
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
Скопировал битый чанк, открыл его в hex редакторе. Нашел по идентификатору запись перед битой. Но помимо данных, там ещё какая то информация о странице похоже.
...
Рейтинг: 0 / 0
29.12.2015, 21:25
    #39140320
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
gaСкопировал битый чанк, открыл его в hex редакторе. Нашел по идентификатору запись перед битой. Но помимо данных, там ещё какая то информация о странице похоже.

Страница считается битой если первые 4 байта не совпадают с последними.


Each disk page in an Informix database has two timestamps - one starting at the
fourth byte of the page header and one at the end of the page. Each time the
page is written, the timestamps are incremented by one. When the page is read
back from disk into buffer cache, the two timestamps are compared. They are
supposed to be equal. If they're not, then the page is considered a bad page.
...
Рейтинг: 0 / 0
29.12.2015, 21:27
    #39140321
Выбегалло
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
BAD PAGE
пардон, не первые четыре байта, а вторые. Первые 4 - это адрес страницы, насколько я помню.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / BAD PAGE / 9 сообщений из 9, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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