我在数据库查看当前用户的角色时,发现没有被赋予角色:
select * from user_role_privs;  --为空但是这个用户是拥有创建表、过程等等权限的,是因为这个表有很多系统权限:
select * from user_sys_privs;   --有很多系统权限这样的话我有点不理解,既然一个用户不需要角色,也能有和角色同样的功能,为什么会同时存在角色和系统权限呢?

解决方案 »

  1.   

    貌似还有个这样的问题:如果用户被赋予了resource角色,这时它是可以创建表的,但是在存过里面,用动态语句创建表就会提示权限不足;而如果是直接赋予这个用户创建表的系统权限,则不会出现这个问题。
    这么看来,角色还没有直接给系统权限方便?
      

  2.   

    当然有执行存过的权限,只是用户拥有的role权限在存储过程是不可用的