Oracle命令:授权-收回权限-角色

时间:2022-10-26 23:24:59

Oracle命令:授权-收回权限-角色

oracle grant

不论授予何种权限,每条授权(grant)语句总是由三部分组成:

1) 接受者部分是准备获得权限的一个或多个用户的列表。

2)关键字权限部分由grant后跟一种或多种权限组成。如果在同一条grant语句中有多个权限,权限之间用逗号分隔。

3)  表名部分由关键字o n起头并列出准备在其上授权的表。

看下面的详细介绍,主要是介绍如何把添加、删除、修改、查询四种权限授予用户,如下:

一、insert

insert权限允许在其他用户的表中建立行。语句grant insert on sample_a to public;允许所有用户在sample_a中建立新的行。Oracle允许在单条grant语句中授多个权限,SQL语句grant insert,select on sample_a to public;等价于两个语句:grant select on sample_a to public;语句和grant insert on sample_a to ublic;语句。

二、update

update权限允许其他用户修改非自己表中的数据。语句grant update on sample_a teplownd;允许用户teplownd修改表sample_a中的信息。

三、select

select权限允许用户查看其他用户表中的内容。语句grant select on sample_3 to public;将允许所有用户浏览表sample_3中的内容,而语句grant select on sample_3 to ops$rosenberge,ops$abbeyms;则只允许两个用户查看表sample_3中的内容。注意,当多个用户接受授权时,用户名之间要用逗号分隔。

提示以public为授权对象时,所有数据库用户都获得指定的权限。如果用户的数据库有15000个用户,则单独授权就需要15000次(每个用户一次),而授权给public,一次即可。

四、delete

删除权限允许其他用户删除指定表的信息行。此权限非同小可,因此我们建议小心使用。下面是一个实际例子:如果一个用户连接到产品数据库,而他还以为他连接的是测试数据库。他发布了一条命令delete from people_master;并且Oracle做出了反应12003 rows delet.ed在退出SQL * Plus后,下一个程序访问people_master查看Rick Bower的记录,会被告知记录不存在。

命令grant delete,update,select on sample_a to public;对所有数据库用户给出指明的权限,而命令grant select,update,insert,delete on sample_a to teplownd,greerw;只允许用户teplownd和greerw对表sample_a做命令中所列出的动作

授权语句

--select * from dba_users; 查询数据库中的所有用户

--alter user TEST_SELECT account lock; 锁住用户 
--alter user TEST_SELECT account unlock; 给用户解锁

--create user xujin identified by   xujin; 建立用户

--grant create tablespace to xujin; 授权 
--grant select on tabel1 to xujin; 授权查询 
--grant update on table1 to xujin; 
--grant execute on procedure1 to xujin 授权存储过程 
--grant update on table1 to xujin with grant option; 授权更新权限转移给xujin用户,许进用户可以继续授权;

--收回权限

--revoke select on table1 from xujin1; 收回查询select表的权限; 
--revoke all on table1 from xujin;

/*grant connect to xujin; 
revoke connect from xujin 
grant select on xezf.cfg_alarm to xujin; 
revoke select on xezf.cfg_alarm from xujin;*/ 
--select table_name,privilege from dba_tab_privs where grantee='xujin' 查询一个用户拥有的对象权限 
--select * from dba_sys_privs where grantee='xujin' 查询一个用户拥有的系统权限 
--select * from session_privs --当钱会话有效的系统权限

--角色

--create role xujin1;--建立xujin1角色 
--grant insert on xezf.cfg_alarm to xujin1; 将插入表的信息 
--revoke insert on xezf.cfg_alarm from xujin1; 收回xujin1角色的权限 
--grant xujin1 to xujin ; 将角色的权限授权给xujin; 
-- create role xujin2; 
--grant xujin1 to xujin2; 将角色xujin1授权给xujin2; 
--alter user xujin default xujin1,xujin2; 修改用户默认角色 
-- DROP ROLE xujin1;删除角色1; 
--select * from role_sys_privs where role=xujin1; 
--查看许进1角色下有什么系统权限; 
--select granted_role,admin_option from role_role_privs where role='xujin2'; 
--查看xujin1角色下面有什么角色权限 
--select * from role_sys_privs where role='xujin2'; 
--select table_name,privilege from role_tab_privs where role='xujin1'; 
--select * from dba_role_privs where grantee='xujin' --查看用户下面有多少个角色;

Oracle命令:授权-收回权限-角色的更多相关文章

  1. 2014年1月9日 Oracle常见授权与权限回收[转]

    1.GRANT 赋于权限 常用的系统权限集合有以下三个: CONNECT(基本的连接), RESOURCE(程序开发), DBA(数据库管理) 常用的数据对象权限有以下五个: ALL ON 数据对象名 ...

  2. oracle用命令创建表空间、用户,并为用户授权、收回权限。

    oracle中如何删除用户? Oracle中使用DROP USER来删除用户,如果使用DROP USER CASCADE那么用户的对象也同时被删除掉.为了达到删除用户的效果而又不影响对用户下的对象的使 ...

  3. oracle创建表空间-用户-角色-授权

    1.创建数据表空间: SQL> create tablespace rusky_data datafile 'D:\rusky\rusky_data01,dbf' size 10M autoex ...

  4. 转 oracle 学习- 用户权限角色

    创建和删除用户是Oracle用户管理中的常见操作,但这其中隐含了Oracle数据库系统的系统权限与对象权限方面的知识.掌握还Oracle用户的授权操作和原理,可以有效提升我们的工作效率. Oracle ...

  5. Oracle 删除用户和表空间////Oracle创建删除用户、角色、表空间、导入导出、...命令总结/////Oracle数据库创建表空间及为用户指定表空间

    Oracle 使用时间长了, 新增了许多user 和tablespace. 需要清理一下 对于单个user和tablespace 来说, 可以使用如下命令来完成. 步骤一:  删除user drop ...

  6. oracle索引、 管理权限和角色

    索引 1 单列索引create index 索引名 on 表名(列名): 2复合索引在同一张表上可以有多个索引,但是要求列的组合必须不同.create index 索引名 on 表名(列名1, 列名2 ...

  7. ORACLE的CONNECT和RESOURCE角色权限

    最近在处理数据库的用户权限问题,之前惯性思维,觉得给用户授权RESOURCE权限之后,用户的一般权限都会有,等到发现用户有RESOURCE角色,却没有创建视图的权限之后,才发现这部分还是一知半解啊,所 ...

  8. oracle中创建用户、角色、权限简单使用

    Oracle关于用户.权限.角色简单使用 创建数据库用户(在system用户下)create user 用户名 identified by 密码; 授权grant 权限名 to 用户名; 查看当前用户 ...

  9. Oracle命令管理账户和权限

    方式一.登陆数据库SQL PLUS: 步骤:Oracle - OraDb10g_home1 =>应用程序开发=>SQL PLUS 用户名:system 密码:tiger/admin 退出数 ...

随机推荐

  1. 关于js中的this之判断this

    this绑定规则的优先级顺序 new操作符绑定 > 显示绑定 > 隐式绑定 > 默认绑定   所以在判断函数在某个调用位置应用的是哪条规则,可以按下列这样的顺序   if(函数在ne ...

  2. Windows Store App 关键帧动画

    关键帧动画和插值动画类似,同样可以根据目标属性值的变化产生相应的动画效果,不同的是,插值动画是在两个属性值之间进行渐变,而关键帧动画打破了仅通过两个属性值控制动画的局限性,它可以在任意多个属性值之间进 ...

  3. Unable to get valid context for root

    登陆时报以下错误Unable to get valid context for rootLast login: Wed Jul 24 02:06:01 2013 from 10.64.41.3 单机模 ...

  4. Jackson 框架,轻易转换JSON(转)

    Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json.xml转换成Java对象. 相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也 ...

  5. 深入了解android平台的jni(一)

    android中很多Java类都具有native接口,这些接口由本地实现,然后注册到系统中.     主要的JNI代码放在以下的路径中:frameworks/base/core/jni/,这个路径中的 ...

  6. Python3学习笔记之十九

    1.    什么是orm? object  relation mapping  对象关系映射 一旦确定表关系为一对多:在多的表中添加关联字段. 一对一:可以在任意一张表添加关联字段. 多对多:创建第三 ...

  7. DevExpress v18.2新版亮点——DevExtreme篇(四)

    行业领先的.NET界面控件2018年第二次重大更新——DevExpress v18.2日前正式发布,本站将以连载的形式为大家介绍新版本新功能.本文将介绍了DevExtreme Complete Sub ...

  8. 发布库到仓库 maven jcenter JitPack MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  9. Echarts 简单报表系列三:饼状图

    代码如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  10. unity3d中物体的控制

    一.物体的循环移动和旋转 思路:通过对时间的计算,每隔一段时间让物体旋转,实现来回移动. float TranslateSpeed = 0.02f; float TranslateSpeedTime ...