系统权限:
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的权限不会消失。
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
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
……
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语句后,使用户可以将相同权限赋给其他用户,与系统权限相同。
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的权限自动消失,与系统权限相反。
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';
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
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
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用户权限:解决PL/SQL Developer中SYSTEM用户只能以SYSDBA身份登录,而不能以NORMAL身份登录 #### 背景与问题概述 在Oracle数据库管理中,经常遇到的一种情况是,作为数据库管理员(DBA),我们需要对...
Oracle用户权限角色设置,用来在新建的数据库中添加新的用户,并为其设置权限。
《基于角色的ORACLE用户权限管理设计》 在信息化时代,数据库管理系统在各行各业中扮演着至关重要的角色,其中ORACLE数据库作为大型企业分布式业务处理系统的核心,其安全性与权限管理尤为重要。基于角色的权限管理...
Oracle 权限设置 一、权限分类: ...CONNECT:拥有Connect权限的用户只可以登录Oracle,不可以创建实体,不可以创建数据库结构。 对于普通用户:授予connect, resource权限。 对于DBA管理用户:授予connect,
Oracle用户权限可以分为两类:系统权限和对象权限。系统权限是指 Oracle 用户可以执行的系统级操作,例如创建用户、修改用户、删除用户等。对象权限是指 Oracle 用户可以访问和操作的数据库对象,例如表、视图、...
以上就是Oracle用户权限的详细说明,以及创建用户并为其分配权限的操作方法。作为数据库管理员,理解这些基础知识是管理好Oracle数据库的前提。通过命令行工具和数据库管理系统提供的视图,DBA可以有效地实现权限...
Oracle 权限大全是 Oracle 数据库管理系统中的一种安全机制,用于控制用户对数据库的访问权限。该机制包括用户管理、权限授予、撤销、查看、权限传递、角色的增删改查等多方面的内容。 用户管理是 Oracle 权限大全...
3. **Oracle用户权限**:操作者需具备足够的权限来修改Oracle数据库中的用户密码。通常,只有系统管理员(sys)或具有DBA权限的用户才能执行此操作。 #### 二、操作步骤详解 1. **登录Linux系统**:首先,通过SSH...
本篇文章将深入探讨如何创建和管理Oracle用户权限,包括权限的种类、如何授予和撤销权限,以及角色的概念。 1. **创建用户与权限** - Oracle中有不同级别的用户,如`sys`(系统管理员,具有最高权限)和`system`...
oracle笔记控制用户权限及练习,控制用户权限,授权,收回权限等操作,有具体的代码案例!
本文将详细介绍如何通过创建表来实现Oracle用户权限的管理,包括创建表空间、创建用户、给用户授权以及如何撤销权限等操作。 #### 1. 创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件...
Oracle数据库的用户权限管理是其核心安全特性之一,它确保了数据的安全性和隔离性。本文将深入探讨Oracle的用户权限管理,包括默认用户、用户创建、权限授予以及用户间的访问控制。 首先,Oracle数据库提供了几个...
这是我上oralce课上老师的资料,ppt是老师自己做的,网上是没有的,在这共享,希望和大家一起来学习交流。
根据给定的文件标题、描述、标签以及部分内容,本文将详细介绍如何在Oracle数据库中查看不同类型的用户权限。本文将按照以下顺序展开: 1. 查看所有用户 2. 查看用户或角色系统权限(直接赋值给用户或角色的系统...
### Oracle 设置用户权限详解 #### 一、Oracle 创建新用户和密码 在Oracle数据库中,创建新用户是一项基本且重要的管理任务。通过创建用户并分配相应的权限,可以确保数据的安全性和完整性。 ##### 步骤: 1. **...