ITPub博客

首页 > 数据库 > Oracle > 11gR1出现了让我期待已久的视图:v$object_privilege

11gR1出现了让我期待已久的视图:v$object_privilege

原创 Oracle 作者:warehouse 时间:2012-09-01 16:08:27 0 删除 编辑
看到这个视图我太激动了,如果没有这样的视图,我觉得对象权限是不完整的,我以前讲课的时候经常和学员提到oracle应该有这样的视图,让我欣喜的在11gR1的版本中终于看到了。[@more@]

查看数据库里系统权限有哪些,可以看下面的系统表:

system_privilege_map

但是要想知道oracle里每个对象有哪些对象权限以前是没有办法知道的,我们只能通过一种巧妙的办法,比如你想知道表有哪些对象权限:grant all on t to test(这里test是一个用户),然后查询:

SQL> grant all on t to test;

Grant succeeded.

SQL> select privilege from dba_tab_privs where grantee='TEST';

PRIVILEGE
----------------------------------------
FLASHBACK
DEBUG
QUERY REWRITE
ON COMMIT REFRESH
REFERENCES
UPDATE
SELECT
INSERT
INDEX
DELETE
ALTER

11 rows selected.

SQL>

有了v$object_privilege就方便多了,直接查询:

SQL> select * from v$object_privilege where object_type_name='TABLE';

OBJECT_TYP OBJECT_TYPE_ID PRIVILEGE_ID PRIVILEGE_NAME
---------- -------------- ------------ --------------------
TABLE 2 0 ALTER
TABLE 2 3 DELETE
TABLE 2 5 INDEX
TABLE 2 6 INSERT
TABLE 2 9 SELECT
TABLE 2 10 UPDATE
TABLE 2 11 REFERENCES
TABLE 2 22 UNDER
TABLE 2 23 ON COMMIT REFRESH
TABLE 2 24 QUERY REWRITE
TABLE 2 26 DEBUG
TABLE 2 27 FLASHBACK

12 rows selected.

SQL>

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/19602/viewspace-1059309/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-12-07

  • 博文量
    717
  • 访问量
    5366307