我们用一个账号登陆oracle进行操作,到底可以执行哪些操作,权限有多大,你可得仔细搞清楚:
1. 用户拥有哪些对象的操作权限:对象包括表,视图,存储过程等,操作包括select,update,insert,delete等
SELECT * FROM Dba_Tab_Privs t WHERE t.grantee='ORACLE';
2. 用户拥有哪些系统操作权限:包括:SELECT ANY TABLE,ALTER SESSION等
SELECT * FROM Dba_Sys_Privs t WHERE t.grantee='ORACLE';
3. 用户拥有哪些角色。包括常用的DBA,
SELECT * FROM Dba_Role_Privs t WHERE t.GRANTEE IN ('ORACLE');
角色也是一系列权限的集合,所以你的用户拥有某个角色的权限,你就要去查这个角色拥有哪些权限。
4. 角色拥有哪些角色
SELECT * FROM ROLE_ROLE_PRIVS T WHERE t.ROLE='DBA'
5. 角色拥有哪些系统操作权限
SELECT * FROM Role_Sys_Privs t WHERE t.ROLE='DBA';
如果查不到还是回去查SELECT * FROM Dba_Sys_Privs t WHERE t.grantee='CONNECT';
6. 角色拥有哪些对象操作权限:
SELECT * FROM Role_Tab_Privs t WHERE t.ROLE='DBA';
如果查不到还是回去查SELECT * FROM Dba_Tab_Privs t WHERE t.grantee='DBA';
其他都一目了然,主要是角色这东西,一层接一层的,所以你要耐心的去找用户到底拥有多少权限。。。。。