[ОТВЕТИТЬ]
06.09.2006 08:03
isi
 
Попробовал импортировать БД СМ в 9.2.0.8 все объекты импортировались, но многие (почти все) функции, процедуры и т.д. не скомпилировались, перекомпиляция не помогает... *01
Кто нибудь наталкивался уже?
06.09.2006 08:09
kadr
 
Вчера только с этим развлекался, процедура ничем не отличается от 9.2.0.7
При импорте некоторые объекты не компилятся около 1500, также теряются гранты на SYS`овские обекты. Даём гранты https://olegon.ru/index.php?name=For...ic&p=3156#3156 и компилим.
Если же не помогает, то в студию более подробное описание проблемы
06.09.2006 09:44
isi
 
помоголо

grant select on dba_roles to supermag;

grant select on dba_jobs to supermag;

grant execute on dbms_pipe to supermag;

grant execute on dbms_alert to supermag;

grant execute on dbms_lock to supermag;

grant select on dba_users to public;

и

GRANT SELECT ANY TABLE TO SUPERMAG;
06.09.2006 09:53
kadr
 
isi,

Код:
GRANT SELECT ANY TABLE TO SUPERMAG;
я считаю, что это слишком опрометчиво. Лучше найти конкретный объект и уже на него давать права
06.09.2006 10:32
isi
 
а что тут опрометчивого?
Изображения
Тип файла: jpg Graphic1.jpg (225.0 Кб, 3045 просмотров)
Тип файла: jpg Graphic1.jpg (225.0 Кб, 3045 просмотров)
06.09.2006 10:42
OlegON
 
какие-то таблицы, может, не должны быть доступны супермагу или доступны только по специальному выделению. Сейчас или потом, не важно. А ты сразу и на все таблицы даешь права... Кроме того, где-то может проверяться доступность таблицы, ее проверят, "ага, работает", а что-то связанное закрыто окажется и начнется глюк с долгим поиском причин его возникновения.
06.09.2006 12:13
isi
 
не думаю, что разработчики идут этим путем, это ж не совсем правильно
06.09.2006 12:16
OlegON
 
Не совсем правильно менять права самому, когда известно, что на них базируется политика доступа самой программы. Финт может вылезти с любой стороны.
06.09.2006 12:22
kadr
 
Цитата:
isi не думаю, что разработчики идут этим путем, это ж не совсем правильно
Что же в этом неправильного. Моё IMHO, каждый пользователь должен иметь доступ к тем объектам, которые ему необходимы для работы, ни больше ни меньше.
07.09.2006 10:15
deucel
 
Самый простой вариант
перед экспортом с рабочей базы берем гранты SYS, SUPERMAG
и скрипт на SVJOBS (желательно с грантами).
после импорта устанавливаем гранты на SYS, SUPERMAG - лучше в SQL Navigator там в нескольких местах он тормозится (гранты на SVJOBS и Resource Consumer Groups).
Выполняем скрипт на SVJOBS.
Потом берем скрипт run_script - чуток вырезаем начало (до Перекомпиляции представлений) и запускаем, он скомпилит инвалидные и после проверит на инвалидные.
07.09.2006 10:38
isi
 
А вто такой вариант проканает:
1. Экспорт только данных из таблиц (без индексов, грантов и т.д.) из схемы SUPERMAG
2. Генерация чистой БД средствами супермага.
3. Импорт данных.

По этой схеме есть два вопроса, как отключить тригеры и индексы на время импорта и второй, при генерации чистой БД надо накатывать скрипты из SP?
07.09.2006 10:45
OlegON
 
Проканает при некотором усердии, можешь брать заготовки скриптов от Space Quest. И скрипты надо прогонять, если они прогнаны на этой базе. Версии СМ2000 должны совпадать вплоть до сервиспаков.
07.09.2006 10:49
isi
 
Подскажите как отключить на время контроль целостности, знаний пока не много... если я правильно понимаю, надо пройтись по тригерам и что то типа alter trigger disable, а как с индексами быть
07.09.2006 10:56
OlegON
 
Еще раз, поставь себе Quest Space Manager, он скрипты делает как раз те, которые ты хочешь.
07.09.2006 12:38
deucel
 
Цитата:
isi Подскажите как отключить на время контроль целостности, знаний пока не много... если я правильно понимаю, надо пройтись по тригерам и что то типа alter trigger disable, а как с индексами быть
Я у себя по такому принципу делал.
Учти что при импорте данных у тебя таблицы должны быть пустые (после генерации некоторые заполнены начальными данными).
Индексы придется удалить, а остальное (констрейнты, тригера ...) отключить можно.
Учти что пользователей ты не перенесешь, поэтому перед этим удали в СМ2000 всех пользователей и должности (кроме SUPERMAG-овских), также все задания, аналитику ... (чем меньше останется тем лучше).
Ну и само собой пару раз проверь на резервном сервере.
Я обычно использую SQL Navigator и Quest TOAD.
13.08.2007 14:18
artyom
 
Да, импорт таблиц проходит без ошибок. После триггеры включаются без проблем, а констрейнты не все. Пишут например такие ошибки:

13:51:44 Executing ALTER TABLE supermag.ffdocuments ENABLE VALIDATE CONSTRAINT ffcdocuments_curr ...
13:51:44 ORA-02270: для этого списка-столбца нет подходящего уникального или первичного ключа
13:51:44 Executing ALTER TABLE supermag.saarticletypes ENABLE VALIDATE CONSTRAINT sacarticletypes_pk ...
13:51:44 ORA-02437: невозможно подтвердить (SUPERMAG.SACARTICLETYPES_PK) - нарушен первичный ключ
13:51:44 Executing ALTER TABLE supermag.saarticletypes ENABLE VALIDATE CONSTRAINT sacarticletypes_title ...
13:51:44 ORA-02299: невозможно подтвердить (SUPERMAG.SACARTICLETYPES_TITLE) - найдены дублирующиеся ключи
13:51:44 Executing ALTER TABLE supermag.sabarcodes ENABLE VALIDATE CONSTRAINT sacbarcodes_name ...
13:51:44 ORA-02299: невозможно подтвердить (SUPERMAG.SACBARCODES_NAME) - найдены дублирующиеся ключи
Почему констрейнты после импорта не включаются?
13.08.2007 15:42
OlegON
 
Потому, что база содержит данные, которые не соответствуют этим ограничениям.
Опции темы


Часовой пояс GMT +3, время: 15:09.

 

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