[每日一题] OCP1z0-047 :2013-07-25 权限――角色与对象权限
有疑问可以去itpub讨论:http://www.itpub.net/thread-1804842-1-1.html
按题意,操作如下:
1、创建一个角色r1
sys@OCM> create role r1;
Role created.
2、角色r1可以查询和插入oe用户下的orders表
sys@OCM> grant select,insert on oe.orders to r1;
Grant succeeded.
3、把r1拥有的所有全权授权给scott用户
sys@OCM> grant r1 to scott;
Grant succeeded.
4、授予scott用户可以查oe用户下的orders表的权限
sys@OCM> grant select on oe.orders to scott;
Grant succeeded.
5、回收查oe用户下的orders表的权限
sys@OCM> revoke select on oe.orders from scott;
Revoke succeeded.
6、scott用户登录询查oe用户下的orders表
sys@OCM> conn scott/scott
Connected.scott@OCM> select * from oe.orders;
ORDER_IDORDER_DATE ORDER_MO CUSTOMER_ID ORDER_STATUS ORDER_TOTAL SALES_REP_ID PROMOTION_ID
--------------------------------------------------------------------------------------------- ----------- ------------ ----------- ------------ ------------
245817-AUG-07 05.34.12.234359 AM direct 101 0 78279.6 153
239720-NOV-07 06.41.54.696211 AM direct 102 1 42283.2 154
direct 105 2 7826 155
。。。。。。。。。。。省略。。。。。。。。。。。。。。。。。。。
245118-DEC-07 09.03.52.562632 AM direct 148 7 10474.6 154
direct 117 0 3878.4 163
245701-NOV-07 01.22.16.162632 PM direct 118 5 21586.2 159
105 rows selected.
用revoke命令回收了scott用户查oe用户下的orders表,但
Scott用户还是可以查出oe用户中的orders表记录。这是什么回事呢?
我们先来看角色r1的对象权限:
sys@OCM> select * from dba_tab_privs where grantee='R1';
GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE
------------------------------------------------------------ ------------------------------------------------------------ ---------------------------------------- --- ---
R1 OE ORDERS OE SELECT NO NO
R1 OE ORDERS OE INSERT NO NO
说明R1角色拥用对oe用户下对orders表的查询和插入操作的权限。。。
查SCOTT用户所拥用的角色:
sys@OCM> select * from DBA_ROLE_PRIVS whereGRANTEE='SCOTT';
GRANTEE GRANTED_ROLE ADM DEF
------------------------------------------------------------ --- ---
SCOTT RESOURCE NO YES
SCOTT R1 NO YES
SCOTT CONNECT NO YES
可以看出SCOTT拥有R1角色,所以有查oe用户下orders表的权限。
如果回收scott用户下的R1角色,应该就能查oe用户下orders表的权限。
sys@OCM> revoke r1 from scott;
Revoke succeeded.
sys@OCM> conn scott/scott
Connected.
scott@OCM> select * from oe.orders;
select * from oe.orders
*
ERROR at line 1:
ORA-00942: table or view does not exist
这道题目是考用户的权限,角色和对象权限的分配及回收知识点。
参考:http://blog.csdn.net/guoyjoe/article/details/863593
希望大家一起补充知识点,找出每道题目的知识点,一起挖掘,分析,吃透。。。
正确答案是:A
[每日一题] OCP1z0-047 :2013-07-25 权限――角色与对象权限的更多相关文章
- CISP/CISA 每日一题 九(2017-11-30 09:25)
电子银行风险管理责任: 1.风险管理是董事会和高级管理层的责任 2.实施技术是信息技术高级管理层的责任 3.测量和监控风险是经营管理层的责任 管理层在实施一个新的电子银行应用程序之前要 ___ ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- 【JavaScript】【dp】Leetcode每日一题-解码方法
[JavaScript]Leetcode每日一题-解码方法 [题目描述] 一条包含字母 A-Z 的消息通过以下映射进行了 编码 : 'A' -> 1 'B' -> 2 ... 'Z' -& ...
- 【Java每日一题】20170106
20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170105
20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170104
20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20170103
20161230问题解析请点击今日问题下方的"[Java每日一题]20170103"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...
- 【Java每日一题】20161230
// 20161229问题解析请点击今日问题下方的"[Java每日一题]20161230"查看(问题解析在公众号首发,公众号ID:weknow619)package Dec2016 ...
- 【Java每日一题】20161229
package Dec2016; import java.util.ArrayList; import java.util.List; public class Ques1229 { public s ...
随机推荐
- Razor视图引擎
在MVC3.0版本的时候,微软终于引入了第二种模板引擎:Razor.在这之前,我们一直在使用WebForm时代沿留下来的ASPX引擎或者第三方的NVelocity模板引擎. (1)Razor文件类型: ...
- swift和 oc 混编2-备
在Swift语言出现之前,开发iOS或OS X应用主要使用Objective-C语言,此外还可以使用C和C++语言,但是UI部分只能使用Objective-C语言. 选择语言 Swift语言出现后,苹 ...
- Swift—使用try?和try!区别-备
在使用try进行错误处理的时候,经常会看到try后面跟有问号(?)或感叹号(!),他们有什么区别呢? 1.使用try? try?会将错误转换为可选值,当调用try?+函数或方法语句时候,如果函数或方 ...
- Facebook 正式开源其大数据查询引擎 Presto
Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析.该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Faceboo ...
- VMProtect修复导入表的插件
壳版本:VMProtect.Ultimate.2.12.3 样本:TKLobby.exe 目的:IAT修复 作者:MrWrong 标题:VMProtect修复导入表的插件 只是感兴趣,没有其他目的.失 ...
- 51单片机C语言学习笔记5:include的区别
#include <iostream.h>#include "myfile_h" #include 是预处理器标识符.<>表示是标准的工程.标准的头文件.查 ...
- WebBrowser执行脚本
ExecuteJavaScript(WebBrowser:TWebBrowser; Code: string):Variant;var //发送脚本Document:IHTMLDocument2;Wi ...
- mySql控制流程的函数
1.select case value then result else value end; 在第一个方案的返回结果中, value=compare-value.而第二个方案的返回结果是第一种情况的 ...
- Java ConcurrentHashmap 解析
总体描述: concurrentHashmap是为了高并发而实现,内部采用分离锁的设计,有效地避开了热点访问.而对于每个分段,ConcurrentHashmap采用final和内存可见修饰符Volat ...
- hdu 1331 Function Run Fun
Problem Description We all love recursion! Don't we? Consider a three-parameter recursive function w ...