Форум OlegON > Программы и оборудование для автоматизации торговли > Системы автоматизации торговли > Супермаг Плюс (Супермаг 2000)

Ошибка обновления на 1.032.2 СП2 ORA-02298: cannot validate (SUPERMAG.SMCOPERACCOUNTOP_USEROP) : Супермаг Плюс (Супермаг 2000)

23.11.2024 1:53


06.01.2016 13:22
Доброго времени суток! Нужен хэлп!
На одном магазине при обновлении с версии 1.031.0 СП10 на 1.032.2 СП2 ошибка такая:

***** Operation.sql *****
begin
*
ERROR at line 1:
ORA-20012: Ошибка создания ограничения SMCOperAccountOp_UserOp для
SMOperAccountOp.
ORA-06512: at "SUPERMAG.SMINITNEWCONSTRAINT", line 8
ORA-02298: cannot validate (SUPERMAG.SMCOPERACCOUNTOP_USEROP) - parent keys not
found
ORA-06512: at line 7
06.01.2016 13:24
ошибка на этапе Инициализации базы данных. в этом месте:

....
Модернизация версии 1.032.
PreUpgrade
1.032.1\32_To_32_1_a
06.01.2016 14:56
помощь нужна?
06.01.2016 15:11
Я так полагаю изначально структура кривая, возможно, что не только в этом месте. Откатиться в бекап и проверить ее с шаблоном. Там и вылезет.
06.01.2016 17:30
сравнил с эталоном. один индекс отсутствовал...добавил его..
но остались вот такие несоответствия:

Колонка FFDEBUGLOG.ID вместо размерности 38.0 имеет размерность 22
Колонка SMSTOREORDERSTASKPARAM.ALGMODE вместо размерности 38.0 имеет размерность 22
Колонка SMSTOREORDERSTASKPARAM.IWGENMODE вместо размерности 38.0 имеет размерность 22
Колонка SSEVENTLOG.MSGLINE вместо размерности 38.0 имеет размерность 22
Колонка SSMIGRATORARC.IMPORTEDCOMPS вместо размерности 38.0 имеет размерность 22
Колонка SSMIGRATORLOG.AMOUNT вместо размерности 38.0 имеет размерность 22
Колонка SSMIGRATORLOG.COMPID вместо размерности 38.0 имеет размерность 22
Отсутствует колонка SVJOBS.FNTYPE
Колонка TTARTMATRIX.TYPE вместо размерности 38.0 имеет размерность 22
Колонка TTBILLSBASES.ITEMNO вместо размерности 38.0 имеет размерность 22
Колонка TTDEPOTCELLCAP.NLENGTH вместо размерности 38.0 имеет размерность 22
Колонка TTDEPOTCELLCAP.NLEVELS вместо размерности 38.0 имеет размерность 22
Колонка TTDEPOTCELLCAP.NPACKS вместо размерности 38.0 имеет размерность 22
Колонка TTDEPOTCELLCAP.NWIDTH вместо размерности 38.0 имеет размерность 22
Колонка TTDOCARTICLES.SPECITEM вместо размерности 38.0 имеет размерность 22
Колонка TTREALIZATION3.ID вместо размерности 38.0 имеет размерность 22
Колонка TTSALDOCP.OPTYPE вместо размерности 38.0 имеет размерность 22
Колонка TTSALDOCPPACK.OPTYPE вместо размерности 38.0 имеет размерность 22
Колонка TTTOVREPORTOBOROT.OPTYPE вместо размерности 38.0 имеет размерность 22
Колонка TTTRACEORDER.ID вместо размерности 38.0 имеет размерность 22
Колонка TTTRACEORDER.MSGLINE вместо размерности 38.0 имеет размерность 22

как их побороть?
06.01.2016 18:27
На размерность можно наплевать - это ты, наверное, разные версии Oracle сравнивал.
Оптимизатор на этой БД работает? (он базу на целостность проверяет)
Посмотри на успешно переведенной БД код создания констрейнта SUPERMAG.SMCOPERACCOUNTOP_USEROP и попробуй применить его на сломанной БД. Ты индекс на этой таблице вкрячил? А то сравнивалка в админмодуле любит констрейнты за индексы выдавать...
06.01.2016 18:27
На размерность можно наплевать - это ты, наверное, разные версии Oracle сравнивал.
Оптимизатор на этой БД работает? (он базу на целостность проверяет)
Посмотри на успешно переведенной БД код создания констрейнта SUPERMAG.SMCOPERACCOUNTOP_USEROP и попробуй применить его на сломанной БД. Ты индекс на этой таблице вкрячил? А то сравнивалка в админмодуле любит констрейнты за индексы выдавать...
06.01.2016 18:39
Индекс вкорячил на таблицу supermag.ffavgpricelog_ - это в sql navigator посмотрел на успешно обновленной базе.. еще была одна таблица лишняя, я ее drop сделал...
06.01.2016 18:44
Надеюсь, это не SM%-табличка была, которую дропнул...
06.01.2016 18:50
вот что было в проверке эталона:
Отсутствует INDEX FFAVGPRICELOG_CALCDATE_
Лишний TABLE SMSTORELOCATIONS222
Часовой пояс GMT +3, время: 01:53.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.