Чт Мар 12, 2009 08:07 Использование контекста при определении прав доступа.
Полезность: Нет оценки
В меню параметры системы, что в АРМ Администратор словаря есть параметр, RIGHTS_CONTEXT (Флаг заполнения системного контекста правами доступа к типам и представлениям).
При выключенном флаге, доступ пользователя в представлениях проверяется условиями типа
Код:
SELECT 1 FROM Criteria_Rights M_R, Subj_Equal SE
WHERE M_R.Obj_Id ='37916257'
AND M_R.Subj_Id=SE.Equal_Id
При включенном
Код:
SYS_CONTEXT('IBS_RIGHTS','37916257')='1'
У нас в случае если у пользователя сложные настройки доступа появляются проблемы при выполнении запросов через dblink. При отключенном флаге все нормально.
По словам поддержки при отключении данной настройки производительность может упать на 10%.
Коллеги!
Отключали ли вы этот флаг? Ели да, то по каким причинам решено было сделать это? Как это сказалось на общей производительности?
Последний раз редактировалось: prog (Чт Мар 12, 2009 14:28), всего редактировалось 1 раз
Такие эксперименты возможны если у вас папа президент банка - родную кровь он не убьет(хотя пример Ивана Грозного говорит об обратном - а ведь он даже не контексты отключил...).
На тесте пробовали - слишком большое падение производительности, не совсем понятно, причем dblink и контекст сессии? Это как если вдруг во время движения на машине нажать на звуковой сигнал ....и вдруг отваливается колесо. У себя как не раздували контекст никаких проблем с dblink в RBS никогда не видели - кстати это цфт говорит про 10% замедление при отключении контекста, у нас же до 30% доходило на тесте, так что для себя мы решили нефиг отключать, да и проблем с контекстом на 10-ке никаких невидно совсем, на 9-ке ,да было.
Это возможно только в случае если миграция шла с 9.2.0.8 - повторю, что у нас с 9.2.0.7 up to 10.2.0.4 не было проблем. - как вариант посмотреть какие права у "линкового" пользователя в удаленной базе - их минимизировать или вообще создать линк под IBS - он владелец схемы у него прав и так выше крыши.
Последний раз редактировалось: Serj (Чт Мар 12, 2009 12:55), всего редактировалось 1 раз
Почему при миграции с 9.2.0.8 могут быть проблемы?
- уфф, вот смотрим что писал цитируемый выше tsktalk -
http://www.cftclub.ru/viewtopic.php?p=5211&highlight=RIGHTS_CONTEXT#5211 - да и собственно, у кого из знакомых не 9.2.0.8 - данная проблема не поднималась вообще, по непроверенным данным cursor_sharing=exact может помочь, но что бы не было тормозов для всей базы в этом случае - можно повесить logon_trigger на пользователя лазающего по dblink -лучше не триггер а другой профиль с этим параметром - рекомендую проверить эту идею.
Последний раз редактировалось: Serj (Пт Мар 13, 2009 06:10), всего редактировалось 1 раз
Спасибо за совет. Я попробую обязательно. Но все же поднял тему про контексты не только из-за проблем с линком. В инструкции по установке Сервера Отчетов (3l-install.chm) прямо рекомендуется отключение использования контекстов при проверке прав пользователя.
Цитата:
В настройках контекстов в системных параметрах (АРМ "Администратор словаря данных", меню "Словарь" – "Системные справочники" – "Параметры") должны быть установлены следующие значения:
SYS_CONTEXT = '1'
RIGHTS_CONTEXT = '0'
Зачем это нужно не написано. Сопровожденцы внятного ответа на этот вопрос тоже так и не смогли дать...
мы столкнулись в свое время с проблемой переполнения контекстов при работе через DBLink... пришлось создавать для отчета отдельного юзера _________________ всегда есть как минимум 2 выхода
Спасибо за совет. Я попробую обязательно. Но все же поднял тему про контексты не только из-за проблем с линком. В инструкции по установке Сервера Отчетов (3l-install.chm) прямо рекомендуется отключение использования контекстов при проверке прав пользователя.
Цитата:
В настройках контекстов в системных параметрах (АРМ "Администратор словаря данных", меню "Словарь" – "Системные справочники" – "Параметры") должны быть установлены следующие значения:
SYS_CONTEXT = '1'
RIGHTS_CONTEXT = '0'
Зачем это нужно не написано. Сопровожденцы внятного ответа на этот вопрос тоже так и не смогли дать...
Видимо, речь там только о работе через СерверПриложений. Если же он у вас не используются и люди ходят напрямую к базе и только отчеты через СО, то контексты можно не трогать.
Отключать RIGHTS_CONTEXT при работе по 3L рекомендуется в связи с тем, что в этом случае сессия за пользователем не фиксируется. И при каждом новом действии пользователя выделяется свободная сессия и проводится ее инициализация.
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
Домен cftclub.ru не связан с ЗАО "Центр Финансовых Технологий" и ни в коей мере не нарушает авторских и иных прав
Владелец может не разделять мнения Участников и не несет ответственности за их публикации
Powered by phpBB