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

1、系统权限:允许用户在数据库中执行特定的操作

A、SYSDBA/SYSOPER这两个权限比较特殊

  1. gyj@OCM> select * from dba_sys_privs where granteein('SYSDBA','SYSOPER');
  2.  
  3. no rows selected

B、DBA的系统权限是可以查到的

  1. gyj@OCM> select * from dba_sys_privs where grantee='DBA';
  2.  
  3. GRANTEE PRIVILEGE ADM
  4. ---------------------------------------------------------------------- ---
  5. DBA DROP ANY CUBE BUILD PROCESS YES
  6. DBA CREATE CUBE YES
  7. DBA ALTER ANY CUBE DIMENSION YES
  8. DBA ALTER ANY MINING MODEL YES
  9. (中间结果省略)
  10. …………………………..
  11. 202 rows selected.

C、普通用户的系统权限

  1. gyj@OCM> select * from dba_sys_privs where grantee='GYJ';
  2.  
  3. GRANTEE PRIVILEGE ADM
  4. ------------------------------ -------------------------------------------
  5. GYJ UNLIMITED TABLESPACE NO

D、 当前会话上的系统权限

  1. gyj@OCM> select * from session_privs;
  2.  
  3. PRIVILEGE
  4. ----------------------------------------
  5. ALTER SYSTEM
  6. AUDIT SYSTEM
  7. CREATE SESSION
  8. ALTER SESSION
  9. RESTRICTED SESSION
  10. (中间结果省略)
  11. ……………………………
  12. 202 rows selected.

2、对象权限:允许用户访问和操纵特定的对象

A、查对象权限

  1. gyj@OCM> select * fromdba_tab_privs where grantee='GYJ';
  2.  
  3. no rows selected

B、查对象上列的权限

  1. gyj@OCM>select * from dba_col_privs wheregrantee='GYJ';
  2.  
  3. no rows selected

为什么没显示对象的权限和对象上列的权限呢,用户GYJ明明有对象的呀:

  1. gyj@OCM> show user;
  2. USER is "GYJ"
  3. gyj@OCM> select table_name from tabs;
  4.  
  5. TABLE_NAME
  6. ------------------------------
  7. T10

好,我登录到HR用户下给GYJ用户授对象权限

  1. sys@OCM> conn hr/hr
  2. Connected.
  3. hr@OCM> grant select on employees to gyj;
  4.  
  5. Grant succeeded.
  6.  
  7. hr@OCM> grant update (department_id) onemployees to gyj;
  8.  
  9. Grant succeeded.

再次查对象权限就有结果了,这下明白这个意思了吧,好!这个就不多说了。

  1. hr@OCM> select * from dba_tab_privs wheregrantee='GYJ';
  2.  
  3. GRANTEE OWNER TABLE_NAME GRANTOR PRIVILEGE GRA HIE
  4. ------------------------------------------------------------ ------------------------------------------------------------ ---------------------------------------- --- ---
  5. GYJ HR EMPLOYEES HR SELECT NO NO
  6.  
  7. hr@OCM> select * from dba_col_privs where grantee='GYJ';
  8.  
  9. GRANTEE OWNER TABLE_NAME COLUMN_NAME GRANTOR PRIVILEGE GRA
  10. ------------------------------ ------------------------------------------------------------ ------------------------------------------------------------ ---------------------------------------- ---
  11. 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. CSS Outlines

    轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用. 轮廓(outline)属性指定了样式,颜色和外边框的宽度. 轮廓(outline)实例 在元素周围画线本例演 ...

  2. 基于管道通知的百万并发长连接server模型

    0.前言 最近突然想了解怎样设计一个支持百万连接的后台server架构. 要设计一个支持百万连接的后台server,我们首先要知道会有哪些因素限制后台server的高并发连接,这里想到的因素有以下几点 ...

  3. django添加静态文件

    最近做了一个todolist webapp,需要稍微添加css时候又忘记django的添加方法了,查看了以前的项目才想起来,所以记录一下. 1.settings.py 将以下代码放到最下面 STATI ...

  4. apache的ab进行页面的压力测试

    参考http://www.cnblogs.com/yjf512/archive/2011/05/24/2055723.html apache/bin/ab ./ab –n 1000 –c 100 ht ...

  5. directUI

    MFC界面开发中,习惯了使用控件,亦或者是自绘制控件来美化界面,但操作起来繁琐,还不太美观.DirectUI的出现,对于界面开发,给了我们一个新的选择,目前很多公司使用了该技术对其产品进行了美化,效果 ...

  6. seajs 和spm的使用简介

    说实话, 前端开发是一个令人头痛的事情. nodejs出现了很久了, 一直不是很习惯用nodejs, 当初刚出来的时候, 就下载了express, 想搭建个网站, 结果不是我的菜, 愣是用的不习惯,也 ...

  7. BZOJ 3680 吊打XXX

    Description gty又虐了一场比赛,被虐的蒟蒻们决定吊打gty.gty见大势不好机智的分出了n个分身,但还是被人多势众的蒟蒻抓住了.蒟蒻们将n个gty吊在n根绳子上,每根绳子穿过天台的一个洞 ...

  8. [BZOJ 3888] [Usaco2015 Jan] Stampede 【线段树】

    题目链接:BZOJ - 3888 题目分析 首先,计算出每个线段在 x 坐标 0 处出现的时间开始点和结束点,就转成了时间轴上的线段. 然后就是看每条线段是否被 y 比它小的线段完全覆盖了.注意求出的 ...

  9. 为ant指定编译版本

    用Eclipse的ant折腾了一天也没搞清楚为什么同样的设置ant出的class版本却不一样.后来下载个ant工具在命令行执行通过. 从网上抄得指定编译版本的方法如下: ant 运行时,必需依赖jdk ...

  10. Park Visit

    hdu4607:http://acm.hdu.edu.cn/showproblem.php?pid=4607 题意:给你一棵树,树上每条边的权值是1,然后然你选择m个点,求遍历m个点的最小花费. 题解 ...