首页 > 代码库 > oracle权限的分配与回收

oracle权限的分配与回收

权限的分配:

1、grant用于将角色、系统权限、对象权限赋予用户、角色。

2、赋权的前提条件:

系统权限:有"grant any privilege"的系统权限、被授予该系统权限时使用了 "admin option"

角色权限:1)授予角色角色权限时带有"admin option";2)被授予了"grant any role"的系统权限;3)是角色的创建者。

对象权限:1)是对象的拥有者;2)被授予对象权限时带有"grant option";3)被授予了"grant any object privilege"权限;

3、语法:

grant [grant_system_privileges|grant_object_privileges];

grant_system_privileges:

{ system_privilege| role| ALL PRIVILEGES}

[, { system_privilege| role| ALL PRIVILEGES}]...

TO grantee_clause [ WITH ADMIN OPTION ];


grantee_clause:

{ user [ IDENTIFIED BY password ]| role| PUBLIC}

  [, { user [ IDENTIFIED BY password ]| role| PUBLIC}]...

  

grant_object_privileges:

{ object_privilege | ALL [ PRIVILEGES ] }

[ (column [, column ]...) ]

[, { object_privilege | ALL [ PRIVILEGES ] }[ (column [, column ]...) ]]...

on_object_clause TO grantee_clause  [ WITH HIERARCHY OPTION ][ WITH GRANT OPTION ]


on_object_clause:

ON { [ schema. ] object 

   | DIRECTORY directory_name

   | EDITION edition_name

   | MINING MODEL [schema.] mining_model_name

   | JAVA { SOURCE | RESOURCE } [ schema. ] object

   }


要记住"grant 权限 to 用户".

---------------------------------------------------------------------------------------


权限的回收:

1、语法

REVOKE { revoke_system_privileges| revoke_object_privileges} ;


revoke_system_privileges:

{ system_privilege| role| ALL PRIVILEGES}

  [, { system_privilege

     | role

     | ALL PRIVILEGES

     }

  ]...

FROM grantee_clause


revoke_object_privileges:

{ object_privilege | ALL [ PRIVILEGES ] }

  [, { object_privilege | ALL [ PRIVILEGES ] } ]...

on_object_clause

FROM grantee_clause

[ CASCADE CONSTRAINTS | FORCE ]


grantee_clause:

{ user [ IDENTIFIED BY password ]

| role

| PUBLIC

}

  [, { user [ IDENTIFIED BY password ]

     | role

     | PUBLIC

     } 

  ]...

  

on_object_clause:

ON { [ schema. ] object 

   | DIRECTORY directory_name

   | EDITION edition_name

   | MINING MODEL [schema.] mining_model_name

   | JAVA { SOURCE | RESOURCE } [ schema. ] object

   }


记住"revoke 权限 from 用户"

-------------------------------------------------------------------------------

系统权限不能级联回收,对象权限可以级联回收。


-------------------------------------------------------------------------------------


本文出自 “三国冷笑话” 博客,请务必保留此出处http://myhwj.blog.51cto.com/9763975/1888225

oracle权限的分配与回收