|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Упал один из вспомогательных серверов, аппаратные проблемы. Сервер 12.10.FC4/w64, использующийся как свалка данных, на нем штук 20 огроменных таблиц с порядка миллиарда записей. Железо подняли, база неюзабельна. Запустил читаться последний бэкап. Бэкап успешно дешифрован, тома разархивированы все успешно, т.е. сам архив целый. Сутки этот бэкап читался (почему ontape такой тормоз? 2мегабайта в секунду дбспейсы пишет, судя по монитору ресурсов), прочитался без вопросов. Раз уж такой даунтайм получился, сервер сразу же был проапгрейжен на 12.10.FC6 из-за глюка с крешем из-за лочек при last_committed изоляции в FC4. После запуска FC6 выдал: 19:12:17 Installing patch to upgrade ph_task code. version(13.06) 19:12:17 SCHAPI: Started 2 dbWorker threads. 19:12:17 SCHAPI: last statement EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T') 19:12:17 SCHAPI: [db_purge_tables 40-3083] Error -211 Cannot read system catalog (sysprocedures). 19:12:17 SCHAPI: [db_purge_tables 40-3083] Error -103 ISAM error: illegal key descriptor (too many parts or too long). 19:13:16 SCHAPI: last statement EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T') 19:13:16 SCHAPI: [autoreg migrate chg 47-10] Error -211 Cannot read system catalog (sysprocedures). 19:13:16 SCHAPI: [autoreg migrate chg 47-10] Error -103 ISAM error: illegal key descriptor (too many parts or too long). 19:13:16 SCHAPI: dbWorker thread cannot switch to database (destore08). Дальнейшее показало что любая попытка работать с базой выдает либо HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (sysprocedures). либо HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (systables). ISAM и там и там -103 oncheck либо ошибок не находит либо обламывается с этой же ошибкой. Пробовал dbexport - точно тот же результат. Вопрос - что это было, и как с этим бороться. Это уже поврежденный последний бэкап был, или это FC4->FC6 апгрейд не прошел, либо что? Пока поставил читаться предпоследний бэкап, но бэкап от версии FC4, а читаю его ontape FC6, допустимо это или сразу даунгрейдить версию и уже FC4 ontape-ом читать бэкап? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 20:27 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
По Код: plaintext 1.
я бы решил что, это апдейт структур при конвертации в FC6 обламывается. Что, если запретить планировщик ? SCHAPI это же он и без него прекрасно работает. Запрещается созданием INFORMIXDIR/etc/sysadmin/stop Скажем, если с запрещённым планировщиком взлетит, то и хорошо - дождаться конца конвертации и перезапустить уже с разрешённым планировщиком и посмотреть что будет. Не взлетит - и хочется разобраться - я бы на чистой установке FC4 опять раскатал бэкап, потом ещё при FC4 запретил планировщик и только потом повторил бы FC6 Из общих фигней напомню, что смена версий не рекомендуется при незавешённых inplace-alter. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 22:16 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
ontape FC6 уже вылетел, что, впрочем, было ожидаемо, хотя на других серверах FC5 (не 6) бэкапы от FC4 читал. Вернул FC4, сейчас читаю бэкап, проверю его работоспособность, потом попробую заблокировать планировщик (из-за глюка в апгрейде на какую-то версию уже приходилось это делать) и посмотрю что выйдет. alter-ов там уже пару лет нет, структура стабильная, там нагрузка конская, а структуры не меняются. Спасибо за подсказку, проверим. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.05.2016, 22:52 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Восстановился предпоследний бэкап, сервер уже родной FC4, апгрейда версии не было. Бэкап тоже не работает с теми же записями в логе: 19:34:44 SCHAPI: Started 2 dbWorker threads. 19:34:45 SCHAPI: [db_purge_tables 40-3078] Error -211 Cannot read system catalog (sysprocedures). 19:34:45 SCHAPI: [db_purge_tables 40-3078] Error -103 ISAM error: illegal key descriptor (too many parts or too long). 19:35:45 SCHAPI: [autoreg migrate chg 47-10] Error -211 Cannot read system catalog (sysprocedures). 19:35:45 SCHAPI: [autoreg migrate chg 47-10] Error -103 ISAM error: illegal key descriptor (too many parts or too long). 19:35:45 SCHAPI: dbWorker thread cannot switch to database (destore08). Как оживить базу? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.05.2016, 19:40 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
А планировщик отключить перед началом восстановления ? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.05.2016, 22:45 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
В общем, данные было решено вытягивать на резервном сервере, а этот сервер вернуть в онлайн без данных. dbaccess, базу удалил, создал, создал таблицы-процедуры, вывел в онлайн, работает. На тестовом сервере пытался читать старые архивы, ни один не работает. Тут меня угораздило взять и прочитать на тестовом НОВЫЙ архив, уже с пересозданной базы, и... ОНО НЕ РАБОТАЕТ точно таким же образом!! Сервер сейчас онлайн, запросы отбабатывает, данные принимает, все ок, но вот его бэкапы - не читаются либо Cannot read system catalog (sysprocedures) либо Cannot read system catalog (systables). Вот таким вот образом. На выходных попробую дбэкспорт хотя бы новых данных, пока сервер вроде бы работает, после чего сервер реинициализировать буду. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 13:43 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
А бэкап БЕЗ этой базы накатывается ? ... |
|||
:
Нравится:
Не нравится:
|
|||
02.06.2016, 21:32 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
правильно ли понимаю? сейчас 1. рабочий и тестовій сервер - версии IDS идентичны 2. На рабочем бекап делается без ошибок 3. Рабочий сервер перезапускается без ошибок 4. На тестовом и на рабочем сервере присутствует файл $INFORMIXDIR/etc/sysadmin/stop 5. При поднятии со свежего бекапа возникает ошибка Используется ли сжатие бекапа? Бекап пишется в файл или в каталог? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 12:07 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
А бэкап БЕЗ этой базы накатывается ? Накатывается и с ней и без нее. Только потом не работает. яфшуеіправильно ли понимаю? сейчас 1. рабочий и тестовій сервер - версии IDS идентичны 2. На рабочем бекап делается без ошибок 3. Рабочий сервер перезапускается без ошибок 4. На тестовом и на рабочем сервере присутствует файл $INFORMIXDIR/etc/sysadmin/stop 5. При поднятии со свежего бекапа возникает ошибка Используется ли сжатие бекапа? Бекап пишется в файл или в каталог? 1. Да 2. Да, ontape 3. Он перестал работать с той же -103, рабочая база была удалена и создана, сейчас работает, и перезапускается нормально. 4. Хоть с ним, хоть без него, хоть с остановленной и удаленой базой sysadmin - ничего не меняется. 5. Да, на тестовый грузится бэкап без ошибок, сервер нормально стартует, все ок, но любой запрос приводит к ошибке. Насколько я понимаю, побилась какая-то sys* база, в евент-логе самого сервера найдены записи ошибок контроллера hdd, что, видимо, все объясняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2016, 19:30 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
falcon111А бэкап БЕЗ этой базы накатывается ? Накатывается и с ней и без нее. Только потом не работает. Я не правильно спросил. Бэкап без этой базы запускается после наката ? Апдейтится в новую версию ? Разумеется с выключенным планировщиком. яфшуеі..... Насколько я понимаю, побилась какая-то sys* база, в евент-логе самого сервера найдены записи ошибок контроллера hdd, что, видимо, все объясняет. Так это.... а пересоздать sys* ? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:50 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Кроме того, Error -103 ISAM error: illegal key descriptor (too many parts or too long). это же про индекс. Почекать имеющиеся, плохой дропнуть и пересоздать. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.06.2016, 22:53 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Опять я и опять с той же проблемой. На этот раз другой сервер, версия сервера 12.10FC9, работает, все хорошо. ontape-ом делается бэкап, переносится на тестовый сервер той же версии, там бэкап читается, все ок, сервер переводится в онлайн, и все запросы разбиваются об HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (sysprocedures) После первого запроса к базе, и об HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (systables). ISAM error:-103 При любом последующем запросе. Что характерно, первый запрос после старта сервера всегда ругается на sysprocedures, все последующие - на systables. Это наводит меня на мысль, что основной сервер если что точно так же не прочтет свой же бэкап, как это уже было на другом сервере. oncheck -cIxRecDS на основном сервере не выдает никакого криминала. А на тестовом - обламывается с Validating indexes for [имя базы]:informix.systables... oncheck failure: gettab() ISAM error: illegal key descriptor (too many parts or too long). Подскажите куда можно копать в этой ситуации, пока есть время разобраться, что это все значит, а то что-то мне стремно? А я пока думаю, что одного ontape-а маловато, возникает мысль, что придется бэкапиться еще дбэкспортом :( ... |
|||
:
Нравится:
Не нравится:
|
|||
18.08.2017, 02:38 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
На тестовом сервере накатил ontape с основного сервера. Работать с базой невозможно. dbaccess, удалил свою базу, на основном сервере сделал dbexport, архив dbimport-нул на тест. Сделал бэкап тестового ontape, прочитал этот бэкап на этот же тестовый сервер, все работает. Таким же образом было запланировано восстановление основного сервера. Сделал dbexport, удалил базу, пересоздал базу dbimport-ом, запустил сервер в работу. Сделал с него бэкап, накатил этот бэкап на тестовый сервер... Получаю HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (systables). ISAM error:-103 при любой попытке обратиться к тестовому серверу. Выходит, удалить базу на основном сервере мало, надо реинициализировать весь сервер, заново добавлять дбспейсы и пр и только потом повторять dbimport? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.08.2017, 23:48 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Сегодня был еще один этап борьбы за читаемость бэкапов. На тестовом сервере выполнил полную реинициализацию. oninit -iy, добавление спейса под физ-логи и вынесение в него физ-логов, добавление спейса под лог-логи, перенос и досоздание лог логов в нем, потом добавление всех дбспейсов под базу. В итоге, получил готовый к дбимпорту сервер, выполнил на нем ontape бэкап, закачал его на рабочий сервер. На рабочем сервере сделал дбэкспорт, остановил сервер, физически удалил все дбспейсы, затем прочитал ontape с свежереинициализированного тестового сервера, перевел сервер онлайн, сделал dbimport, потом ontaps -s -L 0 -U <база>, после чего вернул сервер в работу, все работает. Тут же штатно сделал бэкап онтейпом, перекачал его на тест и... в логе тестового сервера все началось так: Код: sql 1. 2. 3. 4. 5.
Ну и, до боли знакомые ошибки при попытке работать с базой на тесте. Разница между тестовым и основным сервером - основной помощнее, побольше ядер и рамы, конфиги одинаковые за исключением того, что на тесте меньше SHMVIRTSIZE и SHMADD, пожиже VPCLASS-ы, STMT_CACHE, PDQ и буферы. Вот теперь я в полных непонятках. Подскажите, что это за хрень и как это побороть. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.08.2017, 01:23 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
falcon111, А пользователь с правами recource может в этой базе создать какую нибудь тестовую ХП? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2017, 15:05 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
cpr, В смысле в работоспособном или в восстановленном из бэкапа и неработающем состоянии? На неработающем - не может, сейчас попробовал: HY000:-211:[Informix][Informix ODBC Driver][Informix]Cannot read system catalog (sysaggregates). ISAM error:-103 В дополнение скажу, еще вот что. Если бэкапы с основного сервера не читаются на тесте, но при этом пустая база с теста (подготовленный для дбимпорта реиниченный сервер) нормально зачиталась на боевой, я уже от безысходности сделал следующее: 1.на тестовом развернул подготовленный под дбимпорт бэкап 2.с основного слил дбэкспорт, перекачал архив на тестовый, там сделал дбимпорт 3.слил ontape бэкап с тестового и залил в основной сервер. Получил на этот раз неработоспособную базу на основном. Пришлось опять на основной накатить подготовленный бэкап и дбимпортнуть данные назад. Получается, что между тестовым и основным серверами бэкап не читается ни в одну сторону. Что делать не знаю, выходит, что бэкапа по-сути нет, если что случится с основным сервером, его бэкап может точно так же не прочитаться на любой другой сервер. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2017, 15:44 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
falcon111, Я думаю что это не проблема бэкапа. Скорее это информих криво стоит. Сравните права на всех файлах в /opt/informix/. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.08.2017, 18:38 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Сервер win64. При этом инсталляции полностью идентичны. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 02:46 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
falcon111, по винде ничего не скажу. Но мне приходилось сталкиваться с похожими проблемами и причина была в кривой установке IDS. Проверьте следующий вариант. На той системе где не работает восстановленый бэкап просто проинициализируйте дбпространства и не поднимайте бэкап. Попробуйте просто создать пустую бд и создать в ней хранимую процедуру. Если это не получиться, то форматируйте свою ОС и переставляйте Informix. Ну или обращайтесь в саппорт. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 12:34 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
cprПроверьте следующий вариант. На той системе где не работает восстановленый бэкап просто проинициализируйте дбпространства и не поднимайте бэкап. Попробуйте просто создать пустую бд и создать в ней хранимую процедуру. Если это не получиться, то форматируйте свою ОС и переставляйте Informix. Ну или обращайтесь в саппорт. Реинициализированный сервер нормально принимает дбимпортом всю базу, включая процедуры и полностью работает. Оба сервера. ДО дбимпорта и бэкапы пустых спейсов переносятся между ними нормально. ПОСЛЕ дбимпорта на любом из серверов - сервер работает, и все с ним хорошо, но вот его бэкап на других серверах уже разворачивается неработоспособным. Самое смешное что есть еще пара серверов с другой базой, там тоже 12.10.FC9/w64 и там бэкапы прекрасно переносятся (тьфу*3). Разница в том, что база там была создана еще в 10.00 версии, кажется и с тех пор штатно апгрейдилась при апдейтах версии сервера. ... |
|||
:
Нравится:
Не нравится:
|
|||
25.08.2017, 17:02 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
Случайно сервера не в виртуальніх средах с расширающимися дисками и "тонкими" томами на массиве? BACKUP/RESTORE filter используете? Если размер позволяет, с внешним бекапом(копирование чанков) восстановление работает? ... |
|||
:
Нравится:
Не нравится:
|
|||
26.08.2017, 20:34 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
На этих выходных переинсталлировал ось, затем информикс. ontape -r и... нифига. Все та же ошибка. Физически перенести дбспейсы целиком создаст слишком длинный даунтайм основного сервера, что неприемлемо. Может в крайнем случае, как-нибудь созрею, но пока не созрел. Ковыряясь на обоих серверах нашел такую разницу: если на основном зайти в dbaccess, там посмотреть Database - Info - выбрать базу с данными - Nls - на основном говорит: NLS Capabilities and Attributes ru_RU.57372 Collating Sequence ru_RU.57372 CType На тестовом после восстановления бэкапа с основного сервера Nls базы показывает Does not support NLS. От так вот. Сразу полез по старой памяти проверять e01c.lco - файлик есть, пробовал подкладывать в ru_ru каталог e01c из папки en_us (они почему-то различаются) - не помогает. Теперь вот думаю, куда смотреть дальше. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 02:21 |
|
Error -103 ISAM error: illegal key descriptor (too many parts or too long)
|
|||
---|---|---|---|
#18+
В общем, в инсталляторе, по-крайней мере последних 12.10FC4+ версий, ибм сделали сюрпризец. Я, если честно, вообще в регистри никогда не смотрел, ибо есть переменные окружения, есть onconfig, и есть setnet32. Обновления никогда не делаю инсталлятором, всегда ставлю новую версию на тестовую подставную машину, потом оттуда просто переношу установленный информикс на комп, где оно будет работать, сохраняя онконфиг, sqlhosts и extend модули. А тут получилось, что тестовый сервер был поставлен инсталлятором. "Does not support NLS" навело меня на определенные мысли, и при ближайшем рассмотрении, в регистри по пути [HKEY_LOCAL_MACHINE\SOFTWARE\Informix\OnLine\<SERVERNAME>\Environment] обнаружилась строчка GL_USEGLU=1. Удалил эту строку, прочитал бэкап еще раз - и все чудесным образом заработало. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.10.2017, 14:53 |
|
|
start [/forum/topic.php?fid=44&msg=39249056&tid=1606757]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
35ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
others: | 247ms |
total: | 375ms |
0 / 0 |