ВУЗ:
Составители:
Рубрика:
28
WHERE sysauth$.grantee#=user$.user# and 
system_privilege_map.privilege = sysauth$.privilege# and 
user$.name='ADMIN_BOOKS'; 
Следующий  пример  позволяет  определить  список  присвоенных  ролей 
введенного пользователя: 
SELECT * FROM dba_role_privs WHERE grantee = 'ADMIN_BOOKS'; 
Результат: 
GRANTEE                 GRANTED_ROLE                   ADM DEF 
----------------------- ------------------------------ --- --- 
ADMIN_BOOKS             CONNECT                        YES YES 
ADMIN_BOOKS             DBA                            YES YES 
ADMIN_BOOKS             EXP_FULL_DATABASE              YES YES 
Для определения списка таблиц, собственником которых является кон-
кретный пользователь, необходимо выполнить следующий SQL запрос: 
SELECT table_name FROM all_all_tables WHERE owner = 
'ADMIN_BOOKS'; 
Результат: 
TABLE_NAME 
------------------------------ 
AUTHORS 
BOOKS 
DELIVERIES 
PUBLISHING_HOUSE 
PURCHASES 
Для прямого получения информации о пользователе можно обратиться 
к системной таблице SYS.USER$, например: 
SELECT * FROM sys.user$ WHERE name = 'ADMIN_BOOKS'; 
Например, необходимо определить список всех объектов пользователя, 
собственником которых он является, для этого: 
1)  Определим код пользователя (колонка USER# в таблице SYS.USER$):  
SELECT user#, name FROM sys.user$ WHERE name = 'ADMIN_BOOKS'; 
Результат: 
     USER# NAME 
---------- ------------------------------ 
        67 ADMIN_BOOKS 
2)  Далее определим перечень объектов, собственником которых является 
пользователь: 
SELECT OBJ#, NAME FROM SYS.OBJ$ WHERE OWNER# = 67; 
где 67 – идентификатор пользователя ADMIN_BOOKS, определенный по 
предыдущему запросу. 
Страницы
- « первая
- ‹ предыдущая
- …
- 27
- 28
- 29
- 30
- 31
- …
- следующая ›
- последняя »
