powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Informix [игнор отключен] [закрыт для гостей] / Головоломка-3 : error 284 в dbschema
12 сообщений из 12, страница 1 из 1
Головоломка-3 : error 284 в dbschema
    #36608277
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очередная разминка для мозгов.
Попросили меня обновить базу CAS_UTIL в соостветствии с последними изменениями в CAS_TEST.
Данные грузить не надо - только схему.
Ну, дело элементарное - запустить dbschema -d cas_test cas_test.sql, убить cas_util, создать заново из имеющейся схемы.

Проблема, однако, в том, что dbschema вываливается с ошибкой
-284 - A subquery has returned not exactly one row.

Понятно, что в базе где-то глюк, но где ?
Решил пойти окольным путем - запустил Server Studio, сравнил обе базы, создал diff скрипт. Увы, облом - скрипт падает на новых NOT NULL полях. Решил, что быстрее будет разобраться с проблемой dbschema.
Поиск по гуглу ничего не дал, пришлось подумать самому.

Через полчаса dbschema заработала.

Ваши решения ?
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36608662
Чемберлен
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36608760
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЧемберленЧто-то вроде http://www.rhinocerus.net/forum/databases-informix/301757-corrupt-record-sysmaster-systabnames.html?

Похоже, но не совсем. Они сразу нашли дупликат - в systables. А мне надо было выяснить в какой из таблиц глюк.

Кстати, еще один вариант - попробовать использовать Кагелевскую утилиту myschema from the utils2_ak.

Головоломка в том, чтобы найти проблемную запись / таблицу.
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36612193
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТСУвы, облом - скрипт падает на новых NOT NULL полях.
Скрипт падает, мир рушится. Нельзя ли поподробнее?

Выбегалло, если IDS 11 - включаем SQLTRACE?
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36613369
svat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Выбегалло
Проблема, однако, в том, что dbschema вываливается с ошибкой
-284 - A subquery has returned not exactly one row.

Понятно, что в базе где-то глюк, но где ?


Погадал на кофейной гуще, получается следующее:

1) методом дихотомии сужал область поиска, запуская поочередно
Код: plaintext
1.
dbschema -f all -d cas_test cas_test_sp.sql
dbschema -t all -d cas_test cas_test_tbl.sql

2) скорее всего, ошибка вывалилась на первой команде (впрочем, не суть...)
Затем поинтересовался у БД запросом (к sysprocedures или systables соотв.), где у нас неуникальность затесалась.
... или же смотрел, до какой SP/TBL успел дойти вывод в соотв. файлы и с прищуром смотрел на следующую по списку. (см. выше) :)

3) устранил выявленное в п.2 и вуаля.
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36613810
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойТСУвы, облом - скрипт падает на новых NOT NULL полях.
Скрипт падает, мир рушится. Нельзя ли поподробнее?

Выбегалло, если IDS 11 - включаем SQLTRACE?

Почти. Включил SQLIDEBUG, который работает на всех версиях.
В файле трассировки последние строки :
---------------------------------
C->S (70) Time: 2010-04-30 13:50:11.31688
SQ_ID
4
SQ_BIND
# values: 3
0) Type.....: CHAR; NULLABLE
Indicator: NOT NULL
Precision: 0x0
Data.....: "informix" [8]

1) Type.....: CHAR; NULLABLE
Indicator: NOT NULL
Precision: 0x0
Data.....: "idx_cspscrb_br_stat_xref" [24]

2) Type.....: CHAR; NULLABLE
Indicator: NOT NULL
Precision: 0x0
Data.....: "I" [1]

SQ_EXSELECT
SQ_EOT

S->C (12) Time: 2010-04-30 13:50:11.31699
SQ_ERR
SQL error..........: -284
ISAM/RSAM error....: 0
Offset in statement: 84
Error message......: "" [0]
SQ_EOT

---------------------

После чего осталось найти место, где SQ_ID = 4 был объявлен в последний раз (он переназначается) :

select * from informix.sysobjstate where owner = 'informix'
and name = 'idx_cspscrb_br_stat_xref' and objtype = 'I'

И удалить лишние записи.
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614295
заец
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и где здесь головоломка?
это один из стандартных подходов к решению проблемы часто применяемый в средах, где работают разработчики

это скорее полевые заметки администратора или что-то в этом роде
возможно все эти ваши "головоломки" всего лишь навсего претендуют для занесения в faq
как просто база знаний

Головоломка — непростая задача, для решения которой, как правило, требуется сообразительность, а не специальные знания высокого уровня.
http://ru.wikipedia.org/wiki/Головоломка
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614363
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заеци где здесь головоломка?
это один из стандартных подходов к решению проблемы часто применяемый в средах, где работают разработчики

это скорее полевые заметки администратора или что-то в этом роде
возможно все эти ваши "головоломки" всего лишь навсего претендуют для занесения в faq
как просто база знаний

Головоломка — непростая задача, для решения которой, как правило, требуется сообразительность, а не специальные знания высокого уровня.
http://ru.wikipedia.org/wiki/Головоломка

whatever. Лично я делюсь опытом решения практических задач. А вы, я смотрю, занимаетесь повышением образования среди меня путем википедизации ? Я, значит, слово "головоломка" неправильно употребляю ? Ну мне можно, я от корней оторвался.

Кстати, "стандартность" подхода, а равно его очевидность и общеизвестность была продемонстрирована продолжительным молчанием и отсутствием правильных решений.
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614474
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Брек!

ВыбегаллоКстати, "стандартность" подхода, а равно его очевидность и общеизвестность была продемонстрирована продолжительным молчанием и отсутствием правильных решений.
Продолжительное молчание и отсутствие правильных решений было обусловлено праздниками с 1-го по 4-ое мая включительно (думаю, не только в Украине, но и в России) .
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614608
Выбегалло
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛойБрек!

ВыбегаллоКстати, "стандартность" подхода, а равно его очевидность и общеизвестность была продемонстрирована продолжительным молчанием и отсутствием правильных решений.
Продолжительное молчание и отсутствие правильных решений было обусловлено праздниками с 1-го по 4-ое мая включительно (думаю, не только в Украине, но и в России) .

Красиво жить не запретишь !
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614654
АнатоЛой
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выбегалло
Красиво жить не запретишь !

Эт точно... Но без напрягов рай не в радость, а в тягость (студенческий синдром, он же адреналиновая зависимость). "Дайошъ" больше головоломок всяких и разных!
...
Рейтинг: 0 / 0
Головоломка-3 : error 284 в dbschema
    #36614986
vasilis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
АнатоЛой "Дайошъ" больше головоломок всяких и разных!
Поддерживаю!
Не важно, как это называется, "головоломка" или "путевые заметки админа" - главное, чтобы видеть разные подходы и методы решения типовых и нетиповых задач админа, чтобы был повод пошевелить мозгами, подискутировать, поделиться мнениями. т.е. делать именно то, ради чего мы "здесь и собрались", заходя на данный форум.
Еще раз спасибо "Выбегалло" за полезное начинание и "заец" за отгадки :)
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / Informix [игнор отключен] [закрыт для гостей] / Головоломка-3 : error 284 в dbschema
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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