更改用户的default role有2钟方式:DBA操作:     alter user ABC default role 角色名;
ABC自己操作: set role 角色名;
我测试过,这2种方式效果一样的,那为什么要给ABC用户这么一种方式?用户一般都是权限越多越好,一般不会把自己的权限越设越小吧?也就是DBA给他多少权限,他拿着用就行了。为什么还要搞个set命令来给自己设权限?set命令基本上就是累赘。

解决方案 »

  1.   

    DEFAULT的角色权限是默认的
    当你需要启动自身拥有的其他的ROLE的权限的时候就需要SET ROLE,此时是SEESSION级别的权限生效,其它SESSION无效,就是说set role 的效果是临时的,只是当前session有效,其他的session无效,当结束当前session后再登录,又只有default role 的权限了。 ...... 
      

  2.   


    哦,自己set role是临时的那如果DBA操作alter user ABC default role 角色名;的话,就是永久的吧?