[每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限
这题是考权限的知识点,权限分为两大类,系统权限和对象权限,这题主要讲系统权限,我们先来了解什么是系统权,什么是对象权限吧。
1、系统权限:允许用户在数据库中执行特定的操作
A、SYSDBA/SYSOPER这两个权限比较特殊
gyj@OCM> select * from dba_sys_privs where granteein('SYSDBA','SYSOPER'); no rows selected
B、DBA的系统权限是可以查到的
gyj@OCM> select * from dba_sys_privs where grantee='DBA'; GRANTEE PRIVILEGE ADM
---------------------------------------------------------------------- ---
DBA DROP ANY CUBE BUILD PROCESS YES
DBA CREATE CUBE YES
DBA ALTER ANY CUBE DIMENSION YES
DBA ALTER ANY MINING MODEL YES
(中间结果省略)
…………………………..
202 rows selected.
C、普通用户的系统权限
gyj@OCM> select * from dba_sys_privs where grantee='GYJ'; GRANTEE PRIVILEGE ADM
------------------------------ -------------------------------------------
GYJ UNLIMITED TABLESPACE NO
D、 当前会话上的系统权限
gyj@OCM> select * from session_privs; PRIVILEGE
----------------------------------------
ALTER SYSTEM
AUDIT SYSTEM
CREATE SESSION
ALTER SESSION
RESTRICTED SESSION
(中间结果省略)
……………………………
202 rows selected.
2、对象权限:允许用户访问和操纵特定的对象
A、查对象权限
gyj@OCM> select * fromdba_tab_privs where grantee='GYJ'; no rows selected
B、查对象上列的权限
gyj@OCM>select * from dba_col_privs wheregrantee='GYJ'; no rows selected
为什么没显示对象的权限和对象上列的权限呢,用户GYJ明明有对象的呀:
gyj@OCM> show user;
USER is "GYJ"
gyj@OCM> select table_name from tabs; TABLE_NAME
------------------------------
T10
好,我登录到HR用户下给GYJ用户授对象权限
sys@OCM> conn hr/hr
Connected.
hr@OCM> grant select on employees to gyj; Grant succeeded. hr@OCM> grant update (department_id) onemployees to gyj; Grant succeeded.
再次查对象权限就有结果了,这下明白这个意思了吧,好!这个就不多说了。
hr@OCM> select * from dba_tab_privs wheregrantee='GYJ'; GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE
------------------------------------------------------------ ------------------------------------------------------------ ---------------------------------------- --- ---
GYJ HR EMPLOYEES HR SELECT NO NO hr@OCM> select * from dba_col_privs where grantee='GYJ'; GRANTEE OWNER TABLE_NAME COLUMN_NAME GRANTOR PRIVILEGE GRA
------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ ---------------------------------------- ---
GYJ HR EMPLOYEES DEPARTMENT_ID HR UPDATE NO
答案A:GRANT EXECUTE ON proc1 TO PUBLIC;
即grant 权限 on 数据库对象 to 用户是属于对象权限,而不是系统权限,所以答案不符合题意。
答案B:在create view后面不能加具体某个对象,没有这样的写法,操作如下直接报错
gyj@OCM> GRANT CREATE VIEW ON T1TO hr;
GRANT CREATE VIEW ON T1 TO hr
*
ERROR at line 1:
ORA-00990: missing or invalid privilege
分配创建视图的系统权限应该这样写
gyj@OCM> GRANT CREATE VIEW TOhr;
Grant succeeded.
gyj@OCM> GRANT CREATE ANY VIEW TO HR;
Grant succeeded.
查整个库关于CREATE VIEW的系统权限,如下:
答案D:没有ALL这个用户
gyj@OCM> GRANT CREATE SESSION TO ALL;
GRANT CREATE SESSION TO ALL
*
ERROR at line 1:
ORA-00987: missing or invalid username(s)
应该具体某个用户,比如给hr用户授予连接的权限
gyj@OCM> GRANT CREATE SESSION TO HR;
Grant succeeded.
正确答案:C
总结:这里要搞清楚系统权限和对象权限,系统权限的视图:dba_sys_privs
[每日一题] OCP1z0-047 :2013-08-02 权限―――分配系统权限的更多相关文章
- 〖Linux〗(2013.08.02)使用ctag+cscope查看Android源代码
1. 安装ctags和cscope sudo apt-get install -y exuberant-ctags cscope 2. vimrc中的配置 """&quo ...
- 〖Linux〗(2013.08.02)VIM74b+YouCompleteMe,VIM代码编辑器补全能手
1. 编译和安装vim74b(参考:http://t.cn/zQa8R7h ) sudo apt-get install -y hgsvn libncurses5-dev libgnome2-dev ...
- 老男孩IT教育-每日一题汇总
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...
- PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数
PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...
- 【Java每日一题】20161122
package Nov2016; import java.util.ArrayList; import java.util.Iterator; public class Ques1122 { publ ...
- 【Java每日一题】20170222
20170221问题解析请点击今日问题下方的“[Java每日一题]20170222”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import jav ...
- 【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 stackoverflow error
本文想记录一下尝试产生stackoverflow的程序 1 -Xss=1k, 设置stack大小1024个字节,产生515个long,想把stack撑爆. 2 嵌套调用 3 创建大量线程 1 -Xss ...
- 在调用Qt库来实现功能过程中的一些总结
1.对于QTabWidget中tab名字的变化.当其中只有一个&时,Qt Assistant中给出的解释是:If the tab's label contains an ampersand, ...
- 使用enable_shared_from_this示例
/*测试enable_shared_from_this*/ #include <iostream> #include <boost/smart_ptr/shared_ptr.hpp& ...
- javascript 中的数据驱动页面模式
前段时间一直在想前端MVC的意义.这个话题仁者见仁,但是MVC的使用方法给我提了一个管理数据的有意思的想法--数据管理和数据驱动页面.我们以前的思路一直是事件驱动页面,事件驱动页面合乎逻辑而且节约代码 ...
- linux vim 基本操作
(一定要在英文输入法的状态下才有效)vi:实际上linux 上的 vi 不是真正的 vi,而是 vim;纯的 vi只在某些 unix 系统上还存在纯 的vi里面不支持退格键盘了,当按退格键盘以后,不是 ...
- WPF DataGrid 行头小三角
<DataTemplate x:Key="RowHeaderTemplate"> <StackPanel Orientation="Horizontal ...
- Xcode-01ARC / Block
1.nonatomic 2.assign 3.strong 4.weak 5.instancetype 6.@class @property 使部分类在编译时不使用ARC -(可以让这们支持 reta ...
- 2016022604 - redis命令介绍
Redis keys命令用于在Redis的管理键. Redis keys命令使用语法如下所示: redis最新版本目前是3.0.7 redis 127.0.0.1:6379> COMMAND K ...
- C 字符串倒转,XCode中编译
正在学习ios开发,在前期学习c时,常规方法直接倒转数组的值,只能用于非中文字符,否则出现乱码, 在网上找了点资料,可能是 IDE不一致,一直得不到自己想要的值.花时间自己改了一下,正常通过 //字符 ...
- Struts2技术内幕-----第七章
1)基于人机交互的请求--响应模式主要由哪三大要素构成? ①沟通协议-----人和机器都能够明白的数据通信格式 ②请求内容-----人通过某种机制向机器发起的数据请求 ③响应内 ...