oracle revoke 列_oracle受权与回收权限grant和revoke
資料來源網絡
1.GRANT 赋于权限
常用的系统权限集合有以下三个:
CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理)
常用的数据对象权限有以下五个:
ALL ON 数据对象名, SELECT ON 数据对象名, UPDATE ON 数据对象名,
DELETE ON 数据对象名, INSERT ON 数据对象名, ALTER ON 数据对象名
GRANT CONNECT, RESOURCE TO 用户名;
GRANT SELECT ON 表名 TO 用户名;
GRANT SELECT, INSERT, DELETE ON表名 TO 用户名1, 用户名2;
2.REVOKE 回收权限
REVOKE CONNECT, RESOURCE FROM 用户名;
REVOKE SELECT ON 表名 FROM 用户名;
REVOKE SELECT, INSERT, DELETE ON表名 FROM 用户名1, 用户名2;
一、概述
这一部分我们主要看看Oracle如何管理权限和角色,权限和角色的区别在哪里。
当刚刚建立用户时,用户没有任何权限,也不能执行任何操作。如果要执行某种特定的数据库操作,则必须为其授予系统的权限。如果用户要访问其他方案的对象,则必须为其授予对象的权限,为了简化权限的管理,可以使用角色。这里我们会详细介绍。
二、权限
权限是指执行特定类型的Sql命令或是访问其他方案对象的权利,包括系统权限和对象权限。
1、系统权限
A、系统权限的介绍
系统权限是指执行特定类型Sql命令的权利,它用于控制用户可以执行的一个或是一组数据库操作。比如当用户具有create table权限是,可以在其方案中建表,当用户具有create any table权限时,可以在任何方案中建表。Oracle提供了100多种系统权限。
常用的有
create session连接数据库
create view创建视图
create procedure创建过程、函数、包
create cluster建簇
create table创建表
create public synonym创建同义词
create trigger 创建触发器
B、显示系统权限
Oracle提供了100多种系统权限,而且Oracle的版本越高,提供的系统权限就越多,我们可以查询数据字典视图system_privilege_map,可以显示所有系统权限。
sql>select * from system_privilege_map order by name;
三、授予系统权限
一般情况,授予系统权限是有dba完成的,如果用其他用户来授予系统权限,则要求该用户必须具有grant any privilege的系统权限在授予系统权限时,可以带有with admin option选项,这样,被授予权限的用户或是角色还可以将该系统权限授予其他的用户或是角色。
案例:
1、创建两个用户ken,tom,初始阶段他们没有任何权限,如果登录就会给出错误信息。
sql>create user ken identified by m123;
sql>create user tom identified by m123;
2、给用户ken授权
sql>grant create session,create table to ken with admin option;
sql>grant create view to ken;
3、给用户tom授权
我们可以通过ken给tom授权,因为with admin option是加上的。当然也可以通过DBA给tom授权,我们就用ken给tom授权。
sql>grant create session,create table to tom with admin option;
sql>grant create view to tom;——这个是不可以的,因为Ken没有该权限的下放权限。
四、回收系统权限
一般情况下,回收系统权限是dba来完成的,如果其他的用户来回收系统权限,要求该用户必须具有相应系统权限及转授系统权限的选项(with admin option)。回收系统权限使用revoke来完成。
当回收了系统权限后,用户就不能执行相应的操作了,但是请注意,系统权限不是级联回收的。
执行以下语句:
sql>revoke create session from ken;
说明:DBA执行了该语句后回收了Ken的登录权限后,Ken自然就不能再登录了,有Ken下放的该权限所有者tom还是可以正常登录的。
五、对象权限
指访问其他方案对象的权利,用户可以直接访问自己方案的对象。但是如果要访问别的方案的对象,则必须具有对象的权限。比如Smith用户要访问scott.emp表(scott:方案,emp:表),则必须在scott.emp表上具有对象的权限。
常用的有:
alter修改表结构
delete 删除数据
select查询数据
insert添加数据
update修改数据
index在表上建立索引
references引用
execute执行
1、显示对象权限
通过数据字典视图可以显示用户或是角色所具有的对象权限。视图为dba_tab_privs
sql>select distinct privilege from dba_tab_privs;
sql>select grantor,owner,table_name,privilege from dba_tab_privs where grantee='Black';
2、传授对象权限
对象权限可以授予用户、角色和public。在授予对象权限是,如果带有with grant option选项,则可以将该权限转授给其他用户,但是要注意with grant option选项不能被授予角色。
1、monkey用户要操作scott.emp表,则必须授予相应的对象权限
希望monkey可以查询scott.emp表的数据,怎么操作
sql>grant select on emp to monkey;
希望monkey可以修改scott.emp表的数据,怎么操作
sql>grant update on emp to monkey;
希望monkey可以删除scott,emp表的数据,怎么操作
sql>grant delete on emp to monkey;
有没有更加简单的方法,一次吧所有的权限赋给monkey
sql>grant all on emp to monkey;
2、能否对monkey访问权限更加精细控制。(授予列权限)
希望monkey只可以修改scott.emp的表的sal字段,怎样操作
sql>grant update on emp(sal) to monkey;
希望monkey只可查询scott.emp的表的ename,sal数据,怎样操作
sql>grant select on emp(ename,sal) to monkey;
3、授予alter权限
如果monkey用户要修改scott.emp表的结构,则必须授予alter对象权限
sql>grant alter on emp to monkey;
当然也可以用sys,system来完成这件事。
4、授予execute权限
如果用户想要执行其他方案的包/过程/函数,则需要有execute权限。
比如为了让Ken可以执行包abms_transaction,可以授予execute权限。
sql>grant execute on dbms_transaction to ken;
5、授予index权限
如果想要在别的方案的表上建立索引,则必须要具有index对象权限
如为了让Ken可以在scott.emp表上建立索引,就给其index的对象权限
sql>grant index on scott.emp to ken;
6、使用with grant option选项
该选项用于传授对象权限,但是该选项只能被授予用户,而不能授予角色。
sql>grant select on emp to ken with grant option;
7、回收对象权限
在Oracle中,收回对象的权限可以由对象的所有者来完成。
这里要说明的是:收回对象权限后,用户就不能执行相应的sql命令,但是要注意的是对象的权限是会被级联回收的。
sql>revoke select on emp from ken;
说明:Scott执行了该语句后,就回收了Ken用户在emp表上查询权限,因此此时ken已经不能对scott.emp进行查询操作了。于此同时也收回了ken转授下去的该权限,有ken授予的对scott.emp表查询的权限的获得者也不能对scott.emp进行查询操作了。
oracle revoke 列_oracle受权与回收权限grant和revoke相关推荐
- oracle常见受权与回收权限 grant和revoke
1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个: ALL ON ...
- 数据库授权与回收权限 grant和revoke
Oracle常见授权与回收权限--grant和revoke 1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理 ...
- oracle revoke 列_Oracle常见授权与回收权限——grant和revoke
1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个: ALL ON 数据对象名 ...
- Oracle常见授权与回收权限——grant和revoke
转载:http://blog.itpub.net/27106350/viewspace-758652/ 1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RES ...
- oracle revoke 列_Oracle 权限(grant、revoke)
* FROM user_sys_privs; 2.角色 角色其实就是一类权限的分组,所以给用户分配角色其实也是在给用户分配权限.在oracle中有三个比较常用的角色.对于一般不是很严格的系统可以授予开 ...
- oracle revoke 列_oracle数据库 revoke
数据库必知词汇:数据控制语言DCL |名词定义|数据控制语言(Data Control Language, DCL)是SQL语言四大主要分类之一,是用来设置或者更改数据库用户或角色权限的语句,通过GR ...
- oracle revoke 列_Oracle Grant REVOKE正解
Oracle Grant / REVOKE 正解 GRANT 名称 GRANT - 赋予一个用户,一个组或所有用户访问权限 GRANT privilege [, ...] ON object [, . ...
- oracle revoke 列_Oracle Grant 与 Revoke的用法
系统权限 是指是否被授权用户可以连接到数据库上,在数据库中可以进行哪些系统操作. 实体权限 是指用户对具体的模式实体 (schema)所拥有的权限.这样讲可以有些模糊. 举个例子来说:select a ...
- oracle收回删除权限,oracle 授予权限和收回权限 grant和revoke 以及角色的创建 删除...
--select * from dba_users; 查询数据库中的所有用户 --alter user TEST_SELECT account lock; 锁住用户 --alter user TEST ...
- oracle 前导列_Oracle数据库表和表列讲解
如果将数据库比作一个存储东西的储物柜,表就像是储物柜上的各个抽屉,每个抽屉分门别类地存放了各种数据,在设计和规划数据库时,表的定义和规划往往相当重要,良好的表设计决定了程序人员编写程序的便利性与数据库 ...
最新文章
- FFT算法8点12位硬件实现 (verilog)
- 开发日记-20190915 关键词 汇编语言王爽版 第十一章
- TMS320C6678上电配置和FPGA复位DSP
- [课程设计]Scrum 多鱼点餐系统(团队交流日)
- 给大家提供一些面试常问的问题
- 详述由ENQ:TX – ROW LOCK CONTENTION引起的全局死锁处理过程
- 在android系统中开发DLNA
- 用于图像识别的编程语言,你知道几个?
- 使用.pk8 和.pem签名生成.keystore 签名
- 怎么在图片上编辑文字?图片加字这样做
- 【计算机网络】—什么是蜂窝移动网络?
- 2022智源大会议程公开 | 探索智能的原理,构建脑科学与AI的桥梁
- 吴晓波:谷歌亚马逊抖音拼多多,15年前就被他成功预言--长尾理论/推荐系统/数据和消费
- 计算机维修logo在线设计,硕思logo设计师电脑版
- 从Hadoop到Spark和Flink,大数据处理框架十年激荡发展史
- arduino设备跑 ros service server 的波折记
- c语言修炼内功,助你升级打怪!!
- import : 无法将“import”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径 正确,然后再试一次。
- 一阶差分序列garch建模_探讨黄金价格实证分析中ARIMA-GARCH模型的应用
- vue+vant+vux