oracle权限管理

2025-11-18 12:00:57

1、权限分类

系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。

实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。

1.系统权限又分为三类

DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。

RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数据库结构。

CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。

对于普通用户:授予connect, resource权限。

对于DBA管理用户:授予connect,resource, dba权限。

2、系统权限授权管理

语法

grant resource,connect,dba to user-name;

注:普通用户通过授权可以具有与system相同的用户权限,但永远不能达到与sys用户相同的权限,system用户的权限也可以被回收。 

授权普通用户权限

oracle权限管理

3、查看普通用户所所有权限   session_privs;

oracle权限管理

4、授权DBA用户权限,并查看所拥有权限。

oracle权限管理

5、权限的传递

在给用户授权时,增加WITH ADMIN OPTION选项,则得到的权限可以传递。

grant connect,resour...  to user  with admin option;

oracle权限管理

6、权限的回收

语法

revoke 权限 from user-name;  权限回收后用户将无法进行相应的操作。

oracle权限管理

7、不过有一点要注意:如果使用WITH ADMIN OPTION为某个用户授予系统权限,那么对于被这个用户授予相同权限的所有用户来说,取消该用户的系统权限并不会级联取消这些用户的相同权限。如下图中用户user30的权限已经被回收了,但用户user40依然可以连接数据库。

oracle权限管理

oracle权限管理

8、实体权限包含以下几类,主要是针对数据对象操作的权限。

select, update, insert, alter, index, delete, all  //all包括所有权限

           execute  //执行存储过程权限  

     当用户想操作其它用户下的表时,需要其它用户授权才可以进行操作,否则会报错误。

oracle权限管理

9、从上图中可以看到choy用户是具有emp表的,但是因为user10用户没有访问权限所以,无法访问。

示例:授权user10用户对choy用户下的emp表具有查询权限。   需要登录choy用户进行授权。

oracle权限管理

10、如果是管理员也可以直接把choy用户下的emp表授权给其它用户操作权限。

示例:通过dba用户授权user10可以修改choy用户下emp表。

oracle权限管理

11、实例权限的回收,也是通过revoke语法进行的

revoke 权限 on 操作对象  from user-name;

示例:回收user10对choy用户下emp的修改权限。

oracle权限管理

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢