Привет!!!
Post by Vladislav BykovPost by Zhirenkov VitalyПроблема в том, что SELECT_CATALOG_ROLE -- это роль!
V> Так это и понятно. В общем то она, как я понимаю, она для того и
V> создана, что-бы не каждой вьюхе самому давать доступ, а через роль
дать
Post by Vladislav BykovV> права. Так
V> ведь не работает!!! Почему?
PL/SQL Blocks and Roles
The use of roles in a PL/SQL block depends on whether it is an anonymous block
or a named block (stored procedure, function, or trigger), and whether it
executes with definer rights or invoker rights.
Named Blocks with Definer Rights
All roles are disabled in any named PL/SQL block (stored procedure, function,
or trigger) that executes with definer rights. Roles are not used for
privilege checking and you cannot set roles within a definer-rights procedure.
The SESSION_ROLES view shows all roles that are currently enabled. If a named
PL/SQL block that executes with definer rights queries SESSION_ROLES, the
query
does not return any rows.
Anonymous Blocks with Invoker Rights
Named PL/SQL blocks that execute with invoker rights and anonymous PL/SQL
blocks are executed based on privileges granted through enabled roles. Current
roles are used for privilege checking within an invoker-rights PL/SQL block,
and you can use dynamic SQL to set a role in the session.
See Also: Oracle9i Database Reference
Понял - попробовал. Спасибо за разьяснени!!!
Но как всегда, появилось маленькое "но", кот. мешает пониманию
происходящего.
А именно. У меня после импорта не откомпилилось чать процедур. Когда из
навигатора вхожу в процедуру, она мне ругается на какую-то DBA вью, даю
права напрямую
пользователю, запускаю компиляцию невалидных обьектов
exec utl_recomp.recomp_serial();
процедура - откомпилина.
Таких процедур было несколько, и на одной из них - я случайно в навигаторе
не просто
закрыл ее, а нажал - сохранить, и процедура откомпилилась, хотя прав на ту
вьюху,
на кот. была ругань - я не давал. Вот теперь я опять - не понимаю этот мир
:-(
После этого еще раз поигрался, создал роль, дал права на таблицы через
роль, не компилятся
процедуры из навигатора :-( Даю првава непосредственно на таблицы - все
работает.
А что же было с импортированной базой? Возможно что причина в том что база
экспортировалась
в семерке - или то что они с закрытым кодом?
Валера
PS
Это уже - так, не проблема (проблем нет, база перенесена из семерки в
девятку и работает), а просто
стремление понять, что же происходит.