正在維護一個CS結構的應用,每次創建應用的用戶時都需要創建對應的數據庫schema,並且需要賦予其相應的對象權限和角色。操作很不方便,所以專門創建了一個角色,過程如下:
1、創建角色
SQL> create role TESTROLE not identified; Role created
其中,not identified是說在設置角色生效或者無效時,不需要交進行驗證
2、將對象權限賦予剛剛創建的角色
SQL> grant select on ***_table1 to TESTROLE; Grant succeeded SQL> grant select on ***_table2 to TESTROLE;
Grant succeeded
SQL> grant select on ***.table3 to TESTROLE;
Grant succeeded
3、將其他角色賦予該角色
SQL> grant resource to TESTROLE; Grant succeeded SQL> GRANT CONNECT TO TESTROLE; Grant succeeded
4、查看該新建角色是否包含相應的對象權限和角色
SQL> select * from dba_tab_privs where grantee = 'TESTROLE'; SQL> select * from dba_role_privs where grantee = 'TESTROLE';
其中,dba_tab_privs查看的是該角色中賦予的對象的相關權限,比如第二步中的針對某些表的權限;
dba_role_privs查看的是該角色中賦予的其他角色,如第三步中的resource, connect;
還有一個是dba_sys_privs查看的是賦予該角色的系統的相關權限。