03.05.2021 08:07
konst
 
Пытаюсь обновить версию СМ, генератор БД падает на выполнении скрипта: 28_2To29_a.sql
а именно на выполнении операции:
Код:
-- удаление функциональных ролей
begin
 for r in (select * from SMClientFunctions where ID in (3817,3917))  
 loop 
     begin
	   execute immediate 'drop role '|| r.OraRole;
     exception when others then null;
     end;
 end loop;
 delete from SMClientFunctions where ID in (3817,3917);
end;
/
Сообщение об ошибке:
Цитата:
Модернизация версии 1.028.2.
PreUpgrade
1.029\28_2To29_a
Процедура PL/SQL успешно завершена.
0 строк удалено.
Фиксация обновлений завершена.

begin
*
ошибка в строке 1:
ORA-20013: Текст сообщения об ошибке -20013 не найден
ORA-06512: на "SUPERMAG.CORE", line 285
ORA-06512: на "SUPERMAG.SMCLIENTFUNCTIONSNONUSR", line 5
ORA-04088: ошибка во время выполнения триггера
'SUPERMAG.SMCLIENTFUNCTIONSNONUSR'
ORA-06512: на line 9
Кто сталкивался? что посоветуете?
03.05.2021 08:21
OlegON
 
Посоветую проверить структуру до обновления и обновлять с северной частью в начале PATH, может, какие-то доделки или перенастройки в базе? версия давняя, не помню такой ошибки. Посмотри в FAQ по окружению.
03.05.2021 08:27
konst
 
обновление 1.026 - > 1.027.1 прошло без ошибок.
а данная ошибка возникает на 2-х разных базах. (которые я пробовал обновлять)
последний раз обновлял СМ более10 лет назад, может что то упускаю...
при чем если я выполняю запрос напрямую в SQLplus, то получаю эту же ошибку...
delete from SMClientFunctions where ID in (3817,3917);
03.05.2021 09:17
OlegON
 
Погоди, вот перед тобой конкретная база, конкретной версии. Ее нужно сравнить с шаблоном той базы, которая обновилась, либо с чистой.
Сам запрос ничего интересного не содержит. Что-то было сделано до него.
Но ДО сверки структуры даже, я тебе предлагал проверить настройки окружения: вот тема из FAQ https://olegon.ru/showthread.php?t=15400
А еще надо обязательно вспомнить, не было ли каких-то дописок, которые кто-то тебе пихал в схему SUPERMAG, может, кто-то лицензии пытался "поправить" или еще что-то...
Судя по тому, что ты с этой ошибкой в одиночестве, проблема именно в твоей инсталляции.
03.05.2021 10:04
konst
 
проводил эксперимент на нескольких разных базах, в том числе на своих старых. там 100% порядок с лицензионностью.
В моих базах, чего то нестандартного по-моему нет.
с настройками окружения все ок.
просто это все настолько древнее, что скорее всего уже никто и не помнит...
.. попозже сравню структуру...
03.05.2021 10:57
OlegON
 
форум бы помнил :) и эти версии же все проходили...
03.05.2021 14:19
konst
 
Еще одна попытка:
1. Создал чистую БД Oracle (10.2..0.5) с нуля. все параметры по умолчанию, кроме
07_dict... = TRUE
и добавил ТП INDX
2.Выполнил инициализацию БД генератором версии 1.027.1 (ЦО или единственный магазин (стандартные начальные данные)
3. накатил SP3
4. Запустил администратор приложений Супермаг - загрузил лицензию
5. зашел в Административный модуль - сохранил структуру БД
6. остановил Сервер приложений
7 запустил Генератор БД для обновление на версию 1.036 -

получил туже самую ошибку, что и в первом сообщении...

не пойму в чем проблема....
03.05.2021 14:48
konst
 
получилось на тестовой базе обновиться.
для этого сделал промежуточное обновление на версию 1.029.2
после этого и 1.036.1 установилось без ошибок...
03.05.2021 14:53
OlegON
 
Где-то я тут составлял перечень промежуточных версий, не могу найти :( Вот из того, что нашел https://olegon.ru/showthread.php?p=281455#post281455
Давно уже промежуточные версии не требуются... Забыл...
03.05.2021 19:09
konst
 
В итоге обновил базу (пока на тестовом стенде) по следующей схеме:
исходное состояние:
версия СМ 1.026.1SP5 Oracle 9.2.0.8
Удаляем триггер
drop trigger supermag.dbpasswordchange;
commit;
Подчистил несколько таблиц с логами...
сделал экспорт БД в дамп.

на стенде создал пустую БД с таким же именем
Oracle 10.2.0.5 параметры по умолчанию, кроме 07 dictionary accessibility = true
а также добавил ТП INDX

сделал импорт дампа БД
раздал гранты, прогнал UTLRP
проверил что все объекты валидны

обновление БД до версии 1.027.1SP3 - обновление успешно
(т.к. для этой версии у меня есть лицензии, зашел в СМ визуально все работает.)

при попытке обновиться до версии 1.036.1 - выдавало ошибку, описанную выше

в итоге сначала обновился до версии 1.029.2 - успешно

далее до версии 1.036.1 - успешно

и до версии 1.044.0 - успешно

проверил валидность объектов - все ок...

единственный вопрос могут ли последние версии СМ корректно работать на Oracle 10 ?

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