一.权限概述

所谓权限就是执行特定类型SQL命令或访问其他模式对象的权利。用户在数据库中可以执行什么样的操作,以及可以对哪些对象进行操作,完全取决于该用户所拥有的权限。

在Oracle中将权限分为系统权限和对象权限。

系统权限:是指在数据库级别执行某种操作的权限,或是针对某一类对象执行某种操作的权限。

对象权限:是指对某个特定的数据库对象执行某种操作的权限。比如表的插入、删除等

在Oracle中有两种授权的方式

1.利用Grant命令直接给用户授权

2.先将权限授予角色,然后将角色授予用户。

总之Oracle数据库权限管理的过程就是权限授予与回收的过程。

二.系统权限分类

在Oracle中有200多种系统权限。可以查询数据库字典视图SYSTEM_PRIVILEGE_MAP获取所有的系统权限信息。

系统权限主要分两大类

1.一类是对数据库某一对象的操纵能力,与具体的数据库对象无关,通常导游any关键字。

2.另一类系统权限时数据库级别的某种操作能力。如果create session,alter system等。

三.系统权限的授权

可以为用户、角色、PUBLIC组分配系统权限,如果给PUBLIC组分配的权限,那么数据库中的所有用户都有该权限。

语法为

GRANT system——privilege_list |[ALL PRIVILEGES ]

TO user_list|role_list|PUBLIC [WITH ADMIN OPTION];

例如为PUBLIC分配create session权限

grant  create session  to  public ;

为user1授予create table 、create sequence系统权限

grant create table ,create sequence to user1;

让user1的权限具有传递性

grant create table ,create sequence to user1 with admin option;

四.系统权限回收

REVOKE system——privilege_list |[ALL PRIVILEGES ]

FROM user_list|role_list|PUBLIC [WITH ADMIN OPTION];

回收user1的create table 权限

revoke create table from user1;

有三点需要注意的

1.多个系统管理员授予用户同一个权限后,其中一个管理员回收这个权限,该用户将不再有该系统权限

2.为了回收用户系统权限的传递性,必须先回收用户的系统权限,然后在重新授予其相应的系统权限

3.如果一个用户的系统权限具有传递性,并且授予了其他的用户,那么该用户的系统权限回收后,其他用户的系统的并不受影响。

五.对象权限的分类

对象权限时值对某个特定模式对象的操作权限。

六.对象权限的授权

语法

GRANT Object_privilege_list |[ALL PRIVILEGES ][(column,....)] on [schema.]object

TO user_list|role_list|PUBLIC [WITH grant OPTION];

将scott模式下的emp表的select.insert.update对象权限授予用户user1

grant select ,insert,update on scott.emp to user1;

让user1能授权给user2

grant select ,insert,update on scott.emp to user1 with grant option;

七.对象权限的回收

回收user1在emp表上的select 权限

revoke select  on scott.emp from user1;

需要的注意的有三点

1.多个管理员授予用户同一个权限后,其中一个管理员回收这个权限,该用户将不再有该对象权限

2.为了回收用户系统权限的传递性,必须先回收用户的系统权限,然后在重新授予其相应的系统权限

3.如果一个用户的对象权限具有传递性,并且授予了其他的用户,那么该用户的对象权限回收后,其他用户的权限也被回收。

Oracle数据安全(三)权限管理的更多相关文章

  1. SQL Server与Oracle对比学习:权限管理(二) 一些有趣的比喻

    http://blog.csdn.net/weiwenhp/article/details/8094739 目录(?)[-] SQL Server权限管理 login 与user的区别 角色role ...

  2. [转]Oracle学习笔记——权限管理

    本文转自:http://www.cnblogs.com/whgw/archive/2011/10/30.html 一.系统的默认用户 1)sys用户是超级用户,具有最高权限,具有sysdba角色,有c ...

  3. SQL Server与Oracle对比学习:权限管理(一)

    http://blog.csdn.net/weiwenhp/article/details/8093661 我们发现我们现在的生活中到处是涉及到密码,你要记各种各样的密码.比如银行卡,邮件,QQ,微博 ...

  4. struts2学习之旅三 权限管理和导航设计

    1,权限管理的db设计和dao实现,尽量简单快速有效: db的设计如下:权限按照角色来赋给用户: 权限对应每一个具体的功能,有菜单级别的,有导航级别的,还有页面级别的功能: 涉及到权限的敏感操作一般都 ...

  5. oracle新建对象 权限管理

    代码 CREATE USER target IDENTIFIED BY target ; GRANT CONNECT, RESOURCE TO target; 刚刚创建的oracle实例中会内建两个用 ...

  6. oracle中的权限管理

    connect resource权限 grant connect,resource to user; 执行上面的sql语句后用户包括的权限: CONNECT角色: --是授予最终用户的典型权利,最基本 ...

  7. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  8. Oracle权限管理详解

    Oracle权限管理详解 转载--CzmMiao的博客生活 Oracle 权限 权限允许用户访问属于其它用户的对象或执行程序,ORACLE系统提供三种权限:Object 对象级.System 系统级. ...

  9. Oracle用户、权限、角色管理(转)

    http://blog.csdn.net/junmail/article/details/4381287 Oracle 权限设置一.权限分类:系统权限:系统规定用户使用数据库的权限.(系统权限是对用户 ...

随机推荐

  1. C++ namespace浅析

    有一些C语言的基础,突然想看看C++,在Codeblocks上新建工程的时候会生成一个打印"Hello World"的程序,和C语言些许不同.其中最突出的就是"using ...

  2. Autorotation and Autosizing

    配置应用级别的旋转方向——Global Setting 方法:点击项目-General-Deployment-Device Orientation It doesn’t necessarily mea ...

  3. Xcode The operation couldn’t be completed. (NSURLErrorDomain error -1012.)

    使用Xcode SVN 出现问题 The operation couldn’t be completed. (NSURLErrorDomain error -1012.) 解决方法: 打开终端 然后输 ...

  4. Jmeter_远程启动 I

    Jmeter 是Java 应用,对于CPU和内存的消耗比较大,因此,当需要模拟数以千计的并发用户时,使用单台机器模拟所有的并发用户就有些力不从心,甚至会引起JAVA内存溢出错误. 其实,Jmeter的 ...

  5. OpenSSL Heart Bleed 如何修复

     一 . 前言  这两天这个事件沸沸扬扬啊,有了这个bug黑客在电脑前动动手指就能获取各大电商网站.各大银行用户的用户名和密码了,屌爆了 BUG具体内容 : http://heartbleed.com ...

  6. Volley 源码分析

    Volley 源码分析 图片分析 要说源码分析,我们得先看一下官方的配图: 从这张图中我们可以了解到 volley 工作流程: 1.请求加入优先队列 2.从缓存调度器中查看是否存在该请求,如果有(没有 ...

  7. Go开发的体会【转】

    摘自 http://studygolang.com/articles/5069 再次表示感谢,学习了.

  8. hiho一下第109周《Tower Defense Game》

    题目链接:传送门 题目大意:给你一棵树,根节点为1,树上每一个节点都有一个花费值和收入值(花费值>=收入值),要访问一个节点需先支付花费值,访问该节点结束后得到收入值 同时访问树时要求是有序的, ...

  9. html ; css ; javascript ; json ;

    [说明]今天因为看到了前端的js页面和html页面,觉得有必要熟悉一下他们的基本语法,所以花了一天的时间去复习巩固了一下(之前学习过),包括html语法,css语法,javascript语法,对象.B ...

  10. 【BZOJ3875】[Ahoi2014&Jsoi2014]骑士游戏 SPFA优化DP

    [BZOJ3875][Ahoi2014&Jsoi2014]骑士游戏 Description  [故事背景] 长期的宅男生活中,JYY又挖掘出了一款RPG游戏.在这个游戏中JYY会扮演一个英勇的 ...