Oracle顯示使用者所有系統許可權

來源:互聯網
上載者:User
 使用者的系統許可權,有的是直接賦予的,有的是通過角色間接賦予的。而角色也是可以授予直接系統許可權和其他角色許可權的,這樣,要查使用者的系統許可權,就要查詢出系統許可權和所有角色的系統許可權。下面就是運用Oracle的層次化查詢來完成這個功能的。
指令碼show_sys_privs.sql內容如下,帶一個參數(username):
SET VERIFY OFF
define v1=&1

select privilege 
from dba_sys_privs a,
(select granted_role from dba_role_privs start with grantee=upper('&v1') connect by prior granted_role=grantee) b
where a.grantee=b.granted_role
group by privilege
UNION
SELECT PRIVILEGE 
FROM DBA_SYS_PRIVS
WHERE GRANTEE=UPPER('&v1');

undefine v1
SET VERIFY ON

使用樣本:

d:/>sqlplus chennan/chennan@cwtest201

SQL*Plus: Release 9.2.0.8.0 - Production on 星期四 7月 10 12:32:12 2008

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

串連到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production

chennan@cwtest201>@show_sys_privs cwgladm

PRIVILEGE
----------------------------------------
ALTER SESSION
CREATE CLUSTER
CREATE DATABASE LINK
CREATE INDEXTYPE
CREATE OPERATOR
CREATE PROCEDURE
CREATE SEQUENCE
CREATE SESSION
CREATE SYNONYM
CREATE TABLE
CREATE TRIGGER
CREATE TYPE
CREATE VIEW
SELECT ANY DICTIONARY
UNLIMITED TABLESPACE

已選擇15行。

chennan@cwtest201>

 

-- The End --

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.