powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос знающим dictionary
3 сообщений из 3, страница 1 из 1
Вопрос знающим dictionary
    #32114564
JohnSmith
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать скрипт воммоздающий объекты схемы - понятно...
есть all_tables, all_objects и т.д.
А как сделать скрипт воссоздающий гранты? Что-то никак
найти не могу.
Надо воссоздать гранты ролей на объекты, гранты юзеров на
объекты и гранты юзеров на роли.
...
Рейтинг: 0 / 0
Вопрос знающим dictionary
    #32114569
AndrewS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
См.: dba_role_privs, dba_roles, dba_users
...
Рейтинг: 0 / 0
Вопрос знающим dictionary
    #32114695
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так, можешь в качестве значение 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
3 сообщений из 3, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вопрос знающим dictionary
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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