如何获取授权表的授权索引、触发器和同义词
how to get granted indexes,triggers and synonyms of granted tables
我已经创建了两个用户,user1 和 user2,并将 user1 的某些表、函数、过程、视图、序列和包的所有权限授予 user2。我正在使用以下查询来获取授予对象的列表:-
SELECT * FROM USER_TAB_PRIVS where grantor = 'user1' and grantee = 'user2'
上面提到的查询给出了所有对象的列表,如表、函数、过程、视图、序列和包。它不提供索引名称、同义词名称和触发器名称。
任何人都可以建议我如何授予索引、触发器和同义词的权限。或者如何获取授权表的触发器、索引和同义词。
索引或触发器没有像 SELECT 这样的权限。
阅读 https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm 了解任何类型的数据库对象的可能权限,尤其是表 18-1 和 18-2。如果触发器存在并启用,它会在满足条件(插入、更新等)时执行。如果索引存在,则在优化器需要时使用它。
您可以从视图中获取对象列表,只需在 OWNER 列上添加一些 WHERE:
SELECT *
FROM all_triggers;
SELECT *
FROM all_synonyms;
SELECT *
FROM all_indexes;
要获取所有可用对象的架构,您可以使用 ALL_OBJECTS 查看。如果您不知道应该使用什么常量,那么仅仅查看选定的不同对象类型可能比在 oracle 文档中查找它们更快。
Select distinct object_type from all_objects;
我已经创建了两个用户,user1 和 user2,并将 user1 的某些表、函数、过程、视图、序列和包的所有权限授予 user2。我正在使用以下查询来获取授予对象的列表:-
SELECT * FROM USER_TAB_PRIVS where grantor = 'user1' and grantee = 'user2'
上面提到的查询给出了所有对象的列表,如表、函数、过程、视图、序列和包。它不提供索引名称、同义词名称和触发器名称。
任何人都可以建议我如何授予索引、触发器和同义词的权限。或者如何获取授权表的触发器、索引和同义词。
索引或触发器没有像 SELECT 这样的权限。 阅读 https://docs.oracle.com/cd/B28359_01/server.111/b28286/statements_9013.htm 了解任何类型的数据库对象的可能权限,尤其是表 18-1 和 18-2。如果触发器存在并启用,它会在满足条件(插入、更新等)时执行。如果索引存在,则在优化器需要时使用它。
您可以从视图中获取对象列表,只需在 OWNER 列上添加一些 WHERE:
SELECT *
FROM all_triggers;
SELECT *
FROM all_synonyms;
SELECT *
FROM all_indexes;
要获取所有可用对象的架构,您可以使用 ALL_OBJECTS 查看。如果您不知道应该使用什么常量,那么仅仅查看选定的不同对象类型可能比在 oracle 文档中查找它们更快。
Select distinct object_type from all_objects;