oracle权限

原创 2012年03月30日 17:11:22

一、系统权限:

  授予系统权限

    要想授予其他用户或者角色系统权限,需要满足下列条件之一:

    1、具有grant any privilege权限

    2、用户被授予权限时带有admin option选项

   grant system_privilege to user_name [with admin option]

 

     --可以同时给用户或者角色授予多个权限或者角色,也可以同时将多个权限或者角色授予给多个用户或者角色

    比如:grant create table,select any transaction to scott,resource;

      --也可以将权限或者角色授予public,public在数据库是一个特殊的模式,任何都将获得被授予public的权限。

    比如:grant flashback any table to public;

    在授予系统权限时可以带有admin option选项。这样被授予此权限的用户也可以将此权限授予其他用户或者角色。

    比如:grant advisor to scott,system with admin option;

     --当同时将多个权限或者角色授予给多个用户或者角色时使用with admin option,with admin option针对所有用户或者角色以及 所有权限或者角色。

    all privileges不是权限,但可是使用all privileges把所有权限授予其他用户或者角色,但不包含select any dictionary权限。

    比如:grant all privileges to scott;

 

    收回权限:

       revoke system_priv  from user_name [cascade constraints]

         --cascade constraints 表示有关联的权限也被收回

     

    从用户收回权限:revoke alter database from scott;

    从角色收回权限:revoke audit system from dba;

    从public收回权限:revoke create database link from public

     可以同时从多个用户或者角色那里收回多个权限或者角色:revoke create any table,resource from scott,dba;

    在收回系统权限时,不会级联收回。


二、对象权限

    索引、集群、触发器、数据库连接没有对象权限,他们通过系统权限进行管理

     对象权限级联收回。
     授予对象权限

       要想授予其他用户对象权限,用户需要满足下列其一条件:

         1、对象的所有者

         2、具有grant any object privilege权限

         3、用户被授予对象权限时带有grant option选项

              grant object_priv  on schema.object to user_name [with grant option] [with hierarchy option]

                       --with hierarchy option 表示对象的子对象上授权给用户,只针对select。

                       -- 可以将同一模式对象上的多个对象权限授予多个用户或者角色,反之亦然。

                          比如:grant select,update on scott.emp  to system,resource,public

                       --在授予对象权限时可以使用grant option选项,允许其他用户将此权限授予其他用户,但在将对象授予角色时不允许带grant option

                         比如:grant insert,index,flashback on scott.emp to system,public  with grant option;

                       --可以使用 all将对象上的所有权限授予其他用户:grant all on scott.emp to public with grant option;

                      --可以授予列权限:grant update(deptno) on scott.emp to system;

      收回对象权限

           revoke object_priv  on schema.object from username [cascade constraints]

            -- 可以将同一模式对象上的多个对象权限从多个用户或者角色收回,反之亦然。

            --在收回对象权限时将级联收回

            --不存在列级收回权限,即使是列级授予权限,也必须表级收回

三、查询用户的权限

    使用下列数据字典查询用户具有的权限

       session_privs              --会话具有的权限

       dba_sys_privs             --可以查询用户具有的系统权限

       dba_tab_privs             --可以查询用户具有的对象权限

       dba_col_privs             --查询用户具有的列级权限

       system_privilege_map --查询数据库上的系统权限

相关文章推荐

Oracle中的常用权限

grant create user to 用户名 ----------把创建用户权限给  用户名 grant alter user to 用户名   ----------把修改用户权限给  用户名 ...

Oracle的对象权限、角色权限、系统权限

--系统权限:是针对oracle系统操作而言,例如登陆create session,创建表:create table等; --对象权限:是针对对象操作的,例如:查询select,更新update等;-...

Oracle用户,权限,角色以及登录管理【不错小结】

Oracle用户,权限,角色以及登录管理 1. sys和system用户的区别 system用户只能用normal身份登陆em。除非你对它授予了sysdba的系统权限或者syspoer...
  • haiross
  • haiross
  • 2014年05月14日 10:23
  • 34582

Oracle之用户、特权和角色

本文主要包括:    · 介绍创建用户    · 了解如何使用特权来确保用户能够在数据库中执行任务    · 介绍两种特权类型:系统特权和对象特权    · 介绍系统特权怎样允许执行操作,例如执行 D...

Oracle 用户管理与权限分配

用户与模式的关系Oracle数据库的安全保护流程可以分为3个步骤。首先,用户向数据库提供身份识别信息,即提供一个数据库账号。接下来用户还需要证明他们所给出的身份识别信息是有效的,这是通过输入密码来实现...

普通用户授予select any table 权限

基于应用的需要,让普通用户有访问sys表的权限,于是就想到了select any table 的权限,可是当授权以后发现还是不能访问sys的表,经过查一系列资料,发现select any table不...

Oracle 用户权限

  • 2014年09月12日 17:10
  • 2KB
  • 下载

Oracle连接和用户、权限-12c

ORACLE 12C使用:   启动和关闭[12c error]: C:\Users\***>sqlplus /nolog SQL*Plus: Release 12.1.0.1.0 Producti...

oracle 用户和权限

  • 2013年11月28日 10:16
  • 28KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle权限
举报原因:
原因补充:

(最多只允许输入30个字)