权限

来源:互联网 发布:数据库缓存redis 编辑:程序博客网 时间:2024/06/04 18:05

权限是指执行特定类型SQL命令或访问其他方案对象的权利,权限包括系统权限和对象权限两种类型

1.系统权限

       系统权限是指执行特定类型SQL命令的权利。它可以控制用户可以执行的一个或一组数据库操作,例如,用户具有CRAETE TABLE权限,可以在其方案中建表;当用户具有CREATE ANY TABLE权限时,可以在任何方案中建表。常见的系统权限如下:

              CREATE SESSION 连接到数据库

               CREATE TABLE    建表

               CREATE VIEW 建立视图

               CREATE PUBLIC SYNONYM 建立同义词

                CREATE SEQUENCE  建立序列

                CREATE PROCEDURE  建立过程、函数和包

                 CREATE TRIGGER        建立触发器

                  CREATE CLUSTER          建立簇

                  CREATE TYPE                 建立对象类型

                  CREATE DATABASE LINK  建立数据库链

2.对象权限

           对象权限是指访问其他方案对象的权利,它用于控制用户对其他方案对象的访问。常见的对象权限如下:

                 ALTER  

                 DELETE

                 EXECUTE

                 INDEX

                 INSERT

                 REFERENCE

                 SELECT

                 UPDATE

 

3.授予权限

           一般情况下,授予权限是由DBA完成的;如果要以其他用户身份授予系统权限,则要求该用户必须具有GRANT ANY PRIVILEGE系统权限,或在相应系统权限上具有WITH ADMIN OPTION 选项。语法如下:

             GRANT system_priv[,system_priv,....] TO {user|role|PUBLIC},[,{user|role|PUBLIC}].... [WITH ADMIN OPTION]

4.收回系统权限

             一般情况下,授予权限是由DBA完成的;如果要以其他用户身份授予系统权限,则要求该用户必须具有GRANT ANY PRIVILEGE系统权限,或在相应系统权限上具有WITH ADMIN OPTION 选项。语法如下:

               REVOKE system_priv[,system_priv,....] FROM {user|role|PUBLIC},[,{user|role|PUBLIC}]....

               注意,系统权限是不会被级联收回。

5.对象权限

               跟系统权限差不多,只是语法上稍有不同。

               GRANT {object_priv[(column_list)][,object_priv[(column_list)]... |ALL[PRIVILEGES]} ON [schema.]object 

                   TO {user|role|PUBLIC}[,{user|role|PUBLIC}] .... [WITH GRANT OPTION]

6.收回权限

              REVOKE {object_priv[(column_list)][,object_priv[(column_list)]... |ALL[PRIVILEGES]} ON [schema.]object 

                   FROM {user|role|PUBLIC}[,{user|role|PUBLIC}] .... [CASCADE CONSTRAINTS];

               注意,对象权限会被级联收回。

原创粉丝点击