Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос знающим dictionary / 3 сообщений из 3, страница 1 из 1
04.03.2003, 18:46
    #32114564
JohnSmith
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос знающим dictionary
Как сделать скрипт воммоздающий объекты схемы - понятно...
есть all_tables, all_objects и т.д.
А как сделать скрипт воссоздающий гранты? Что-то никак
найти не могу.
Надо воссоздать гранты ролей на объекты, гранты юзеров на
объекты и гранты юзеров на роли.
...
Рейтинг: 0 / 0
04.03.2003, 19:00
    #32114569
AndrewS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос знающим dictionary
См.: dba_role_privs, dba_roles, dba_users
...
Рейтинг: 0 / 0
05.03.2003, 10:33
    #32114695
Denis Popov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Вопрос знающим dictionary
Попробуй так, можешь в качестве значение grantee подставлять имя роли или имя пользователя, только учти, что множества имен ролей и пользователей могут пересекаться:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
 
select *
from (
  select s.grantee
       ,  1  dummy
       , s.privilege system_privilege
       , lpad(' ',  30 ) granted_role
       , ' ' owner
       , lpad(' ',  30 ) table_name
       , lpad(' ',  30 ) object_privilege
       , s.admin_option
       , 'grant '||s.privilege||' to '||s.grantee
         ||decode(s.admin_option, 'YES', ' with admin option')||';' code
  from dba_sys_privs s
  union
  select r.grantee
       ,  2  dummy
       , ' ' system_privilege
       , r.granted_role
       , ' ' owner
       , ' ' table_name
       , ' ' object_privilege
       , r.admin_option
       , 'grant '||r.granted_role||' to '||r.grantee
         ||decode(r.admin_option, 'YES', ' with admin option')||';' code
  from dba_role_privs r
  union
  select t.grantee
       ,  3  dummy
       , ' ' system_privilege
       , ' ' granted_role
       , t.owner
       , t.table_name
       , t.privilege object_privilege
       , null admin_option
       , 'grant '||t.privilege||' on '||t.table_name||' to '||t.grantee
         ||decode(t.grantable, 'YES', ' with grant option')||';' code
  from dba_tab_privs t
)
where  1 = 1 
  and grantee = user
order by  1 ,  2 ,  3 ,  4 ,  5 ,  6 
...
Рейтинг: 0 / 0
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос знающим dictionary / 3 сообщений из 3, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]