11gR1出現了讓我期待已久的檢視:v$object_privilege

warehouse發表於2012-09-01
看到這個檢視我太激動了,如果沒有這樣的檢視,我覺得物件許可權是不完整的,我以前講課的時候經常和學員提到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部落格 ” ,連結:http://blog.itpub.net/19602/viewspace-1059309/,如需轉載,請註明出處,否則將追究法律責任。

相關文章