Oracle - список привилегий, которые я имею в моей схеме - команды - PullRequest
0 голосов
/ 18 октября 2018

Могу ли я узнать, какие привилегии DDL у меня есть в моей собственной схеме?Я ищу предложение типа SELECT.

Я имею в виду, как мне узнать, могу ли я создавать, отбрасывать, изменять и т. Д.?

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 18 октября 2018

вы можете получить его с запросом к DBA_SYS_PRIVS, DBA_TAB_PRIVS и DBA_ROLE_PRIVS, чтобы получить информацию о пользовательских привилегиях в отношении системы, таблиц и ролей.например, SELECT * FROM DBA_SYS_PRIVS;

0 голосов
/ 18 октября 2018

Вы должны автоматически иметь привилегии выбора для таблиц в вашей собственной схеме - они принадлежат вам.Вы можете выяснить, можете ли вы создавать, удалять или изменять объекты в зависимости от предоставленных вам ролей.Вы можете использовать запрос типа SELECT * FROM USER_ROLE_PRIVS; или select dbms_metadata.get_granted_ddl('ROLE_GRANT', user) from dual;, чтобы получить список ролей, которые были вам предоставлены, и на основании этого вы будете знать, какие привилегии у вас есть в базе данных.

Например, если вы видите, что вам предоставлена ​​роль «Ресурс», вы сможете делать такие вещи, как создание таблиц, процедур, триггеров и т. Д.

Вы можете использоватьзапрос типа select * from session_privs;, чтобы увидеть КАЖДУЮ привилегию, которая у вас есть, но она будет включать привилегии для всей базы данных, включая привилегии, связанные с ролью.Чтобы увидеть привилегии, которые не связаны с ролью, вы можете использовать запрос типа SELECT * FROM USER_SYS_PRIVS;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...