Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Informix [игнор отключен] [закрыт для гостей] / Пересоздание системного индекса / 4 сообщений из 4, страница 1 из 1
19.08.2008, 11:03
    #35494187
ИльяC
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание системного индекса
Код: plaintext
oncheck -cI "dbname":sysprocbody 
выдала сообщение что index procbody is bad .
Пробовал его удалить под учетной записью Informix, с целью потом пересоздать.
Получаю сообщение Error (-511). Cannot modify system catalog (sysprocbody)

Единственный известный мне вариант dbexport и dbimport. Так как при импорте базы индексы пересоздаются заново. Но стремно его делать, база огромна, таблицы фрагментированы. Может есть более гуманные варианты?
...
Рейтинг: 0 / 0
19.08.2008, 18:57
    #35495744
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание системного индекса
ИльяC
Код: plaintext
oncheck -cI "dbname":sysprocbody 
выдала сообщение что index procbody is bad .
Пробовал его удалить под учетной записью Informix, с целью потом пересоздать.
Получаю сообщение Error (-511). Cannot modify system catalog (sysprocbody)

Единственный известный мне вариант dbexport и dbimport. Так как при импорте базы индексы пересоздаются заново. Но стремно его делать, база огромна, таблицы фрагментированы. Может есть более гуманные варианты?

Как выриант, можно обратиться в IBM Technical Suppot .... :)
Они умеют ... отключать битый индекс ... удалять его и т.д.

Если такого желания нет ... тогда только dbimport ....

С уважением,
Вадим.
...
Рейтинг: 0 / 0
21.08.2008, 11:49
    #35498715
cpr
cpr
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание системного индекса
попробуйте сделать
dbschema -d dbname -f all allproc.sql

Если процедуры выгрузятся, то надо их все грохнуть и dbaccess'ом создать из файла.

Если не выгрузятся, то я бы попробовал селектом и sysprocedures и sysprocbody вынуть текст хранимых процедур и потом их загрузить.
...
Рейтинг: 0 / 0
22.08.2008, 01:38
    #35500627
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Пересоздание системного индекса
cprпопробуйте сделать
dbschema -d dbname -f all allproc.sql

Если процедуры выгрузятся, то надо их все грохнуть и dbaccess'ом создать из файла.

Если не выгрузятся, то я бы попробовал селектом и sysprocedures и sysprocbody вынуть текст хранимых процедур и потом их загрузить.

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

1. Можно попробовать (после выгрузки процедур) удалить все процедуры.
2. Выполнить Update Statistics HIGH...
3. oncheck -cI ...
4. Если после 3-го шага все будет нормально, тогда пересоздать процедуры.

Если нет, то только DBIMPORT ... и т.д.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Пересоздание системного индекса / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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