`

Oracle用户权限

 
阅读更多

系统权限:

1、使用GRANT语句向用户赋予系统权限:
    GRANT system_privilege TO user_name [ WITH ADMIN OPTION ] ;
    注:使用WITH ADMIN OPTION语句后,使用户可以将相同权限赋给其他用户。
 
2、使用REVOKE语句撤销系统权限:
    REVOKE system_privilege FROM user_name ;
    注:当删除A用户的权限时,通过A赋予B的权限不会消失。
 
3、任何用户,都必须有CREATE SESSION权限,才可以连接到数据库。
 
4、可通过 selectdistinctprivilegefrom dba_sys_privs; 来查询所有的系统权限列表
    ANALYZE ANY
    AUDIT SYSTEM
    CREATE TABLE
    DROP PROFILE
    DROP ANY ROLE
    ALTER DATABASE
    DROP ANY INDEX
    DROP ANY TABLE
    LOCK ANY TABLE
    EXECUTE ANY PROCEDURE
    ……
    基本上都是可以顾名思义的,但是权限相对比较多,150项左右。
 

对象权限:
 
1、对象权限赋予语法:
    GRANT object_privilege ON object_name TO username [ WITH GRANT OPTION ];
    注:使用WITH GRANT OPTION语句后,使用户可以将相同权限赋给其他用户,与系统权限相同。
 
2、对象权限撤销语法:
    REVOKE object_privilege ON object_name FROM username;
    注:当删除A用户的权限时,通过A赋予B的权限自动消失,与系统权限相反。
 
3、查看具体的对象权限:
    select * from dba_tab_privs where grantee= 'WANGXIAOQI' ;  
    select * fromTABLE_PRIVILEGESwhere GRANTEE='WANGXIAOQI';
    注1:两者均可以查看对象权限,只是展现形式不同。
    注2:表名为TABLE_PRIV,但 不光只有table,而是所有object的信息,包括function、procedure、package等。
 
4、object privilege 种类比较少,而且根据对象类型的不同而不同。
    在赋值时可以使用all代替该类型对象的所有权限类型,如:

    grant select , update , delete , insert on table_name to user_name;

    grant all on table_name to user_name;
 
    注:对于TABLE,all包括:ALTER、DELETE、INDEX、INSERT、SELECT、UPDATE、REFERENCES、ON COMMIT REFRESH、QUERY REWRITE、DEBUG、FLASHBACK
 
 

角色管理:
 
1、通过role来简化赋权操作,每个role含有若干项系统权限。role包括系统预定义和自定义两种。
    select * from dba_roles; --查询当前所有ROLE列表,包括自定义
    select * from dba_role_privs; --查询某用户的ROLE权限
    select * from ROLE_SYS_PRIVS; --查询当前用户的ROLE,及其所包含的系统权限
 
2、系统预定义角色:
    CONNECT:
        CREATE VIEW
        CREATE TABLE
        ALTER SESSION
        CREATE CLUSTER
        CREATE SESSION
        CREATE SYNONYM
        CREATE SEQUENCE
        CREATE DATABASE LINK
    RESOURCE:
        CREATE TYPE
        CREATE TABLE
        CREATE CLUSTER
        CREATE TRIGGER
        CREATE OPERATOR
        CREATE SEQUENCE
        CREATE INDEXTYPE
        CREATE PROCEDURE
    另外包括比较重要的ROLE如:DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE等。
 
 
3、自定义角色:
  
    创建ROLE:
    CREATE ROLE role_name
    [ NOT IDENTIFIED | IDENTIFIED BY password]
    注:IDENTIFIED 表示在修改该ROLE时是否需要提供密码 <修改,不包括赋权和取消权限>
 
    在创建 role 之后,使用 grant 和 revoke 手动设置 role 对应的权限
    再使用 grant 和 revoke 将 role 赋给 user
    注:可以将 role 赋给 role
 
4、启用和禁用ROLE:
    SET ROLE [role [identified by password] |,role [identified by password]...]
    | ALL [EXCEPT role[,role]...]
    | NONE ];
    注:ALL 表示启用改用户的所有角色,NONE表示禁用所有角色。
 
    例:
    禁用所有角色:setrolenone;
    启用所有角色:setroleall; --role不能有密码
    启用某个角色:setrole role_test identifiedby test; --有密码的话
    禁用某个角色:setroleallexcept role_test;
    注:setrole命令是覆盖性质的,即不能先启用一个,再启用另一个,必须一条命令中全部启动;
 
5、修改用户时设置角色:
    ALTER USER username
    [default role [role_name[,role_name,...]]
    | all [except role_name[,role_name,...]]
    | none ];

分享到:
评论

相关推荐

    查看ORACLE用户权限

    在Oracle数据库管理中,了解和控制用户权限是至关重要的任务之一。这不仅涉及到数据库的安全性,也直接影响到数据的完整性和系统的高效运行。通过查询Oracle中的特定视图,我们可以详细了解用户的权限分配情况,包括...

    oracle用户权限管理

    本文将详细介绍与Oracle用户权限管理相关的概念、命令及其应用场景。 #### 标题:Oracle 用户权限管理 **Oracle 用户权限管理** 主要涉及对数据库用户的登录权限、创建表权限、插入数据权限等方面的控制。通过合理...

    oracle用户权限

    ### Oracle用户权限:解决PL/SQL Developer中SYSTEM用户只能以SYSDBA身份登录,而不能以NORMAL身份登录 #### 背景与问题概述 在Oracle数据库管理中,经常遇到的一种情况是,作为数据库管理员(DBA),我们需要对...

    Oracle用户权限角色设置

    Oracle用户权限角色设置,用来在新建的数据库中添加新的用户,并为其设置权限。

    基于角色的ORACLE用户权限管理设计.pdf

    《基于角色的ORACLE用户权限管理设计》 在信息化时代,数据库管理系统在各行各业中扮演着至关重要的角色,其中ORACLE数据库作为大型企业分布式业务处理系统的核心,其安全性与权限管理尤为重要。基于角色的权限管理...

    oracle用户权限、角色管理详解

    Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,

    Oracle用户与对象权限与系统权限

    Oracle用户权限可以分为两类:系统权限和对象权限。系统权限是指 Oracle 用户可以执行的系统级操作,例如创建用户、修改用户、删除用户等。对象权限是指 Oracle 用户可以访问和操作的数据库对象,例如表、视图、...

    oracle用户的权限详细说明以及赋权的操作

    以上就是Oracle用户权限的详细说明,以及创建用户并为其分配权限的操作方法。作为数据库管理员,理解这些基础知识是管理好Oracle数据库的前提。通过命令行工具和数据库管理系统提供的视图,DBA可以有效地实现权限...

    Oracle权限大全

    Oracle 权限大全是 Oracle 数据库管理系统中的一种安全机制,用于控制用户对数据库的访问权限。该机制包括用户管理、权限授予、撤销、查看、权限传递、角色的增删改查等多方面的内容。 用户管理是 Oracle 权限大全...

    Linux下修改Oracle用户密码

    3. **Oracle用户权限**:操作者需具备足够的权限来修改Oracle数据库中的用户密码。通常,只有系统管理员(sys)或具有DBA权限的用户才能执行此操作。 #### 二、操作步骤详解 1. **登录Linux系统**:首先,通过SSH...

    Oracle用户权限及权限设置

    本篇文章将深入探讨如何创建和管理Oracle用户权限,包括权限的种类、如何授予和撤销权限,以及角色的概念。 1. **创建用户与权限** - Oracle中有不同级别的用户,如`sys`(系统管理员,具有最高权限)和`system`...

    oracle笔记控制用户权限及练习

    oracle笔记控制用户权限及练习,控制用户权限,授权,收回权限等操作,有具体的代码案例!

    Oracle创建用户权限全过程

    本文将详细介绍如何通过创建表来实现Oracle用户权限的管理,包括创建表空间、创建用户、给用户授权以及如何撤销权限等操作。 #### 1. 创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件...

    oracle用户权限管理使用详解

    Oracle数据库的用户权限管理是其核心安全特性之一,它确保了数据的安全性和隔离性。本文将深入探讨Oracle的用户权限管理,包括默认用户、用户创建、权限授予以及用户间的访问控制。 首先,Oracle数据库提供了几个...

    oracle 用户权限和角色

    这是我上oralce课上老师的资料,ppt是老师自己做的,网上是没有的,在这共享,希望和大家一起来学习交流。

    oracle查看用户权限

    根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何在Oracle数据库中查看不同类型的用户权限。本文将按照以下顺序展开: 1. 查看所有用户 2. 查看用户或角色系统权限(直接赋值给用户或角色的系统...

    Oracle设置用户权限

    ### Oracle 设置用户权限详解 #### 一、Oracle 创建新用户和密码 在Oracle数据库中,创建新用户是一项基本且重要的管理任务。通过创建用户并分配相应的权限,可以确保数据的安全性和完整性。 ##### 步骤: 1. **...

Global site tag (gtag.js) - Google Analytics