摘要:当我们不知道需要为一用户赋予什么权限的时候,我们可以通过查询数据字典来了解相关的权限。
但是有时候我们并不知道权限存在于哪些数据字典当中此时我们只需要oracle的dictionary这个数据字典,因为
oracle所有的数据字典基本都会在此表中有记录,此时当我们想要去查询权限的数据字典只需要去dictionary表中
模糊的匹配PRIV也就是权限那么我们便可以得到所有与权限相关的数据字典,同时根据其注释得到我们想要的数据字典。、
---------------------------------例子----------------------------------------------
1.如果我们想知道数据库中所有的权限,那么数据字典的开头肯定是DBA_%_PRIV%
SQL> select * from dictionary t where t.TABLE_NAME like '%DBA_%PRIV%' order by length(t.TABLE_NAME),t.TABLE_NAME;
TABLE_NAME COMMENTS
------------------------------ --------------------------------------------------------------------------------
DBA_COL_PRIVS All grants on columns in the database
DBA_SYS_PRIVS System privileges granted to users and roles ---这个便是我们想要的
DBA_TAB_PRIVS All grants on objects in the database
DBA_ROLE_PRIVS Roles granted to users and roles
DBA_AQ_AGENT_PRIVS
DBA_PRIV_AUDIT_OPTS Describes current system privileges being audited across the system and by user
DBA_REPGROUP_PRIVILEGES Information about users who are registered for object group privileges
DBA_NETWORK_ACL_PRIVILEGES Privileges defined in network access control lists
DBA_RSRC_CONSUMER_GROUP_PRIVS Switch privileges for consumer groups
DBA_RSRC_MANAGER_SYSTEM_PRIVS system privileges for the resource manager
然后查询DBA_SYS_PRIVS便可以得到用户所有的权限,如下
--这里只列出一小部分
SQL> select * from dba_sys_privs t where t.grantee='DBA' and rownum<10;
GRANTEE PRIVILEGE ADMIN_OPTION
------------------------------ ---------------------------------------- ------------
DBA ADVISOR YES
DBA AUDIT ANY YES
DBA DROP USER YES
DBA RESUMABLE YES
DBA ALTER USER YES
DBA CREATE JOB YES
DBA ANALYZE ANY YES
DBA BECOME USER YES
DBA CREATE CUBE YES
这样我们就可以判断出我们需要赋予用户所需要的权限了。
一般我们新建立一个用户后只需要给他
grant connect,resource to user_name;这两个角色便可,其余的权限可以在用的时候再给
----------------------------------------------------------------------------结束-----------------------------------------------------------
1.题外话
如果我们想要知道当前用户有哪些角色
select * from user_role_privis;
有哪些系统权限
user_sys_privis;
角色具有哪些系统权限
role_sys_privis
如果查不到这些表格那个就授予用户查询任何表格的权限
grant select any table to user_name;
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26509390/viewspace-1391398/,如需转载,请注明出处,否则将追究法律责任。