这题是考权限的知识点,权限分为两大类,系统权限和对象权限,这题主要讲系统权限,我们先来了解什么是系统权,什么是对象权限吧。

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 权限―――分配系统权限的更多相关文章

  1. 〖Linux〗(2013.08.02)使用ctag+cscope查看Android源代码

    1. 安装ctags和cscope sudo apt-get install -y exuberant-ctags cscope 2. vimrc中的配置 """&quo ...

  2. 〖Linux〗(2013.08.02)VIM74b+YouCompleteMe,VIM代码编辑器补全能手

    1. 编译和安装vim74b(参考:http://t.cn/zQa8R7h ) sudo apt-get install -y hgsvn libncurses5-dev libgnome2-dev ...

  3. 老男孩IT教育-每日一题汇总

    老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file….already exists以下错误如何解决? 第122天 2 ...

  4. PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数

    PL/SQL Challenge 每日一题:2014-3-14 11gR2中带RELIES_ON子句的RESULT_CACHE函数 最先答对且答案未经编辑的puber将获得纪念章一枚(答案不可编辑但可 ...

  5. 【Java每日一题】20161122

    package Nov2016; import java.util.ArrayList; import java.util.Iterator; public class Ques1122 { publ ...

  6. 【Java每日一题】20170222

    20170221问题解析请点击今日问题下方的“[Java每日一题]20170222”查看(问题解析在公众号首发,公众号ID:weknow619) package Feb2017; import jav ...

  7. 【Java每日一题】20170106

    20170105问题解析请点击今日问题下方的"[Java每日一题]20170106"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  8. 【Java每日一题】20170105

    20170104问题解析请点击今日问题下方的"[Java每日一题]20170105"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

  9. 【Java每日一题】20170104

    20170103问题解析请点击今日问题下方的"[Java每日一题]20170104"查看(问题解析在公众号首发,公众号ID:weknow619) package Jan2017; ...

随机推荐

  1. CoreAnimation3-专用图层

    CAShapeLayer CAShapeLayer是一个通过矢量图形而不是bitmap来绘制的图层子类.你指定诸如颜色和线宽等属性,用CGPath来定义想要绘制的图形,最后CAShapeLayer就自 ...

  2. CABasicAnimation添加动画离开屏幕就动画停止的问题

    解决方法: animation.removedOnCompletion = NO;

  3. Frameset布局

    <FRAMESET> <FRAME> <NOFRAMES> <IFRAME> ■ 框架概念 : 所谓框架便是网页画面分成几个框窗,同时取得多个 URL. ...

  4. MVVM模式应用 之为ApplicationBarIconButton 添加Command操作属性

    在学习MVVM的过程中,总是会遇到挫折,一碰到就是花费好长时间去解决..唉,不求量,只求质. 第一种(已经实践成功): (1)http://bindableapplicationb.codeplex. ...

  5. centos下配置多个tomcat同时运行

    首先安装好jdk,下载好tomcat,我的是apache-tomcat-7.0.50,不用专门配置CATALINA_2_BASE,CATALINA_2_HOME等环境变量. 把tomcat解压到lin ...

  6. gooflow0.6的流程设计

    为何使用gooflow:1.兼容性好 2.扩展点很多可以个性化设计 3.配有api文档 4.json格式的数据传输 gooflow0.8版 由于最近项目需要,急需设计一个流程,考虑到时间问题,和用户个 ...

  7. #Leet Code# Same Tree

    语言:Python 描述:使用递归实现 # Definition for a binary tree node # class TreeNode: # def __init__(self, x): # ...

  8. Python核心编程2第三章课后练习

    1. 标识符.为什么Python 中不需要变量名和变量类型声明? Python中的变量不需要声明,变量的赋值操作既是变量声明和定义的过程.每个变量在内存中创建,都包括变量的标识,名称和数据这些信息.每 ...

  9. linux下VI编辑器的使用

    一.VI编辑器简述       VI 编辑器是Linux和Unix上最基本的文本编辑器,工作在字符模式下.由于不需要图形界面,使它成了效率很高的文本编辑器.尽管在Linux上也有很多图形界面的编辑器可 ...

  10. MyEclips:Struts 2 + Hibernate 4 + SQL Server2008

    步骤一:准备 1.下载 sqlJDBC.jar的下载地址:http://www.microsoft.com/en-us/download/details.aspx?id=21599 Hibernate ...