登陆注册
18668900000018

第18章 数据库的保护(2)

(1)修改用户默认表空间和临时表空间

修改用户的默认表空间只影响将来建立的对象,以前建立的对象仍然存放在原来的表空间上,将来建立的对象放到新的默认表空间。

例8-5 修改JOHN用户的默认表空间和临时表空间。

SQL>ALTER USER JOHN

TEMPORARY TABLESPACE TEMP

DEFAULT TABLESPACE USERSDATA

(2)控制用户账号的锁定及重置口令

在下列情况下使用ALTER USER命令修改口令和账号锁定或解锁是很有用的:

当一个用户忘记口令时需要重置口令,或人工地将一个口令设置为到期;

将被系统锁定的用户账号解锁,或显式地锁定一个用户账号。

假如用户已经登录到Oracle数据库,此时修改口令、设口令到期及锁定口令都不会影响当前的会话,这些修改只对该用户后续的会话有效。

例8-6 将JOHN用户的口令修改并且将其口令设置为到期。

SQL>ALTER USER JOHN

IDENTIFIED BY HISGRANDPA

PASSWORD EXPIRE

假如口令到期,在登录SQL*Plus时将提示用户输入一个新口令。JOHN用户必须在下次登录时修改口令。

3.删除用户

使用DROP USER命令可以从数据库中删除一个用户。假如用户拥有对象,必须指定CASCADE关键字才能删除用户,否则返回一个错误。假如指定CASCADE关键字,Oracle先删除该用户所拥有的所有对象,然后删除该用户。

删除用户的语法如下:

DROP USER 用户名[CASCADE];

例8-7 删除JOHN用户及该用户的所有对象。

SQL>DROP USER JOHN CASCADE

注意:一个当前连接到Oracle服务器的用户是不能被删除的。

4.查询用户信息

用户的信息可以从数据字典视图DBAUSERS和USERUSERS中获得。USERUSERS只显示一行当前用户的信息,DBAUSERS显示所有用户的信息。普通用户只能查询USERUSERS数据字典,只有拥有DBA权限的用户才能查询DBAUSERS数据字典。从这两个视图中可以获得用户账号状态、口令到期的日期、账号锁定的日期(假如账号被锁定)、加密的口令、默认表空间和临时表空间、用户的建立日期等信息。

例8-8 JOHN用户在登录到数据库后,执行下列命令查询自己账号的信息。

SQL>SELECT USERNAME,DEFAULTTABLESPACE,TEMPORARYTABLESPACE,

ACCOUNTSTATUS,EXPIRYDATE

FROM USERUSERS;

8.1.2.2 权限的管理

数据库中的权限可以控制对数据的访问,以及限制用户可以执行的操作。通过授予用户合适的权限,权限决定了一个用户所能访问的数据。

Oracle有两种类型的权限:系统权限和对象权限。

允许用户在数据库上执行特定操作所需要的权限称为系统权限,这些操作包括建立、删除和修改表、视图、存储过程、触发器等。系统权限没有指定任何对象。有些系统权限的功能很强大,只应该授予给可信任的用户。

允许用户访问一个特定对象并对特定对象执行特定操作所需要的权限称为对象权限。对象权限指定操作的对象可以是表、视图、存储过程函数、包等对象。对象权限可以是针对数据的读、修改、删除、增加等权限,也可以是针对程序的执行权限,或者修改对象结构的权限等。

PUBLIC是一个数据库中定义的用户组,它既不是一个数据库用户,也不是一个角色。数据库中的每一个用户都属于这个组。假如将权限授予给PUBLIC,则数据库中所有用户都拥有此权限。

1.系统权限的管理

(1)系统权限的分类

系统权限可以划分成下列三类。

允许在系统范围内操作的权限。如:CREATE SESSION、CREATE TABLESPACE等与用户无关的权限。

允许在用户自己的账号内管理对象的权限。如:CREATE TABLE等建立、修改、删除指定对象的权限。

允许在任何用户账号内管理对象的权限。如:CREATE ANY TABLE等带ANY的权限。

例如:SELECT ANY TABLE权限给了用户查询数据库中所有用户的表或视图的权力。CREATE ANY TABLE权限允许用户在任何用户账号下建表。

注意:CREATE TABLE、CREATE PROCEDURE权限包含ALTER和DROP这些对象的权限;CREATE TABLE权限包含CREATE INDEX权限,所以没有单独的CREATE INDEX权限;为了TRUNCATE一张表,必须拥有DROP ANY TABLE权限;为了连接到数据库必须拥有CREATE SESSION权限。

(2)系统权限的授予

使用GRANT命令可以将系统权限授予给一个用户、角色或PUBLIC。WITH ADMIN OPTION从句授予了受权者将此权限再授予给另一个用户、角色或PUBLIC的权力。授予系统权限的语法如下:

GRANT{系统权限|角色}[,{系统权限|角色}]……

TO{用户|角色|PUBLIC}[,{用户|角色|PUBLIC}]……

[WITH ADMIN OPTION]

其中:

PUBLIC表示将系统权限授予给数据库下的所有用户;WITH ADMIN OPTION表示允许得到权限的用户进一步将这些权限或角色授予给其他的用户或角色。

注意:给角色授权时不能带WITH ADMIN OPTION从句。

例8-9 JOHN用户希望在scott模式下建立一张表,他需要拥有CREATE ANY TABLE权限。这个权限不仅允许JOHN在scott模式下建立一张表,而且允许在任何模式下建立一张表。

SQL>GRANT CREATE ANY TABLE TO JOHN;

例8-10 希望JOHN用户将建表权限再授予给别人,在给JOHN授权时必须带WITH ADMIN OPTION从句。

SQL>GRANT CREATE ANY TABLE TO JOHN WITH ADMIN OPTION

(3)系统权限的回收

使用REVOKE命令可以从用户或角色上回收系统权限。回收系统权限的语法如下:

REVOKE{系统权限|角色}[,{系统权限|角色}]……

FROM{用户名|角色|PUBLIC}[,{用户名|角色|PUBLIC}]……

注意:假如用户A被授予带WITH ADMIN OPTION从句的系统权限,并且将此系统权限授予用户B,当用户A的权限被回收时,用户B的权限仍然保留。

例8-11 从scott用户身上回收建表和建立会话的权限。

SQL>REVOKE CREATE TABLE,CREATE SESSION FROM scott

不管在权限授予时是否带WITH ADMIN OPTION从句,一个系统权限回收时没有级联影响。

DBA将CREATE TABLE系统权限授予给USER1,授权时带WITH ADMIN OPTION从句。

USER1建立一张表。

USER1将CREATE TABLE系统权限授予给scott用户。

scott用户建立一张表。

数据库管理员DBA从USER1身上回收CREATE TABLE系统权限。

结果为:USER1的表仍然存在,但USER1不能建立任何新表;scott用户仍然拥有表和CREATE TABLE系统权限。

(4)SYSDBA和SYSOPER权限

在第4章中已经提到了系统权限SYSDBA和SYSOPER。如果用户以SYSDBA权限连接到数据库(如:CONNECT/AS SYSDBA),就授予用户无限的权限,允许用户在数据库中执行任何操作,或者对数据库中的对象执行任何操作。

(5)查询系统权限信息

查询数据字典视图DBASYSPRIVS可显示数据库中所有用户或角色所拥有的系统权限,以及授予权限时是否带有WITH ADMIN OPTION从句。查询USERSYSPRIVS视图可显示当前用户所拥有的系统权限,以及授予权限时是否带有WITH ADMIN OPTION从句。

例8-12 查询所有用户或角色所拥有的系统权限。

SQL>SELECT*FROM DBASYSPRIVS

查询数据字典视图V$PWFILEUSERS可以了解所有被授予SYSDBA和SYSOPER系统权限的用户信息。SYSDBA列的值为TRUE时表示用户被授予SYSDBA系统权限,SYSOPER列的值为TRUE时表示用户被授予SYSOPER系统权限。

例8-13 查询拥有SYSDBA和SYSOPER系统权限的用户信息。

SQL>SELECT*FROM V$PWFILEUSERS

查询结果如下:

USERNAME SYSDBA SYSOPER

——

SYS TRUE TRUE

2.对象权限的管理

(1)对象权限的分类

对象权限是对一个特定对象进行操作所需要的权限。一个对象的拥有者拥有对对象的所有权限。对象拥有者可以将对象上的权限授予给数据库的其他用户。对每一类对象可以授予的对象权限可分为9类。对象不同,在此对象上可以操作的权限也不同。其中打“√”符号的表示该类对象上有这种操作权限,空表示该类对象上没有这种操作权限。

(2)对象权限的授予

授予对象权限的语法如下:

GRANT{对象权限[(列名1[,列名2……])]

[,对象权限[(列名1[,列名2……])]]……|ALL[PRIVILEGES]}

ON 对象名

TO{用户名|角色名|PUBLIC}[,{用户名|角色名|PUBLIC}]……

[WITH GRANT OPTION]

其中:

对象权限指需要被授予的对象权限。

列名1、2用于指定表或视图中的列名(只有在授予INSERT,REFERENCES,UPDATE权限时才能指定列名)。

ALL用于授予对象上的所有权限,并且带WITH GRANT OPTION从句。

ON 对象名用于指定被操作的对象名。

WITH GRANT OPTION用于允许受权者将对象权限授予其他用户或角色。给角色授权时不能带WITH GRANT OPTION从句。

例8-14 SYS用户将DBMSPIPE包上的执行权限授予给数据库中所有用户。

SQL>GRANT EXECUTE ON DBMSPIPE TO PUBLIC;

例8-15 USER1用户将emp表上ENAME、SAL列上的更新权限授予给scott用户,并且允许scott用户再将此更新权限授予给其他用户或角色。

SQL>GRANT UPDATE(ENAME,SAL)ON emp TO scott WITH GRANT OPTION;

注意:假如用户拥有一个对象,自动地获得了该对象的所有权限。对象拥有者可以将自己对象的操作权授予给别人。

同类推荐
  • 学校计算机实用技术

    学校计算机实用技术

    本书由杭州市上城区教育学院编著,他们邀请了众多信息技术教育教学的一线专家,认真细致地筛选了学校计算机应用方面的常见问题,提出了解决问题的具体操作方案,旨在帮助一线教育工作者解决可能面临的种种问题,为广大教师提供便捷服务。
  • 不懂PowerPoint就当不好经理

    不懂PowerPoint就当不好经理

    经理人如何用PowerPoint,来规划部门的发展,如何用PowerPoint来表达自己的经营主张?本书为各类经理人提供了从入门到提高,从原理到实战的一系列知识,相信本书将让演示文稿为经理人的管理效能加分!
  • 中国网络传播研究2009(第三辑)

    中国网络传播研究2009(第三辑)

    本文以传统社区研究的“场域论”为基础,探讨网络传播中场域性互动对社会舆论的影响。文章首先从传统社区传播的场域性特征出发,探讨网络传播的社区性和场域性。然后分别分析了传统门户、BBS论坛和私人博客等三种主流的网络传播的场域性互动、意见表达和舆论形成的特点。最后结合“张殊凡事件”、“王石捐款”事件以及“黑砖窑”事件,探讨网络传播中的场域性互动对社会舆论从虚拟到现实的影响。
  • 数据库原理及Oracle应用

    数据库原理及Oracle应用

    进入21世纪,随着国家信息化步伐的加快及各行业信息化进程的不断加速,社会对专业(非计算机专业)人才的信息技术能力要求越来越高。为了适应社会对专业人才的要求,全国各高校在重视专业知识培养的同时也非常注重计算机应用能力的训练,即信息技术能力的培养。计算机应用水平已成为衡量高校毕业生综合素质的突出标志之一。
  • 现代企业财务软件应用教程

    现代企业财务软件应用教程

    本书内容包括财务软件概论、系统管理、企业应用平台、总账管理、报表管理、薪资管理、固定资产管理、应收款管理、应付款管理等。
热门推荐
  • 柠萌小姐酸中甜

    柠萌小姐酸中甜

    她明明是喜欢他的,却对他忽冷忽热,嗯,她一无所有,另一个女孩狠狠伤她,强烈的疏离感让她的感情寸步难行。一个美少年闯入她的生活,不知不觉中同时闯入了她的心,然而她却怎么也不能正视自己的心,暖萌少年一步一步地靠近,捏着她的脸,温柔道:世界上还有你这么白痴的人吗?她的感情有些混乱,亲人冷落她,患有严重爱情天然呆且胆小的她选择了逃跑。这一逃就是四年,朋友背叛她,她以假名的方式报复那个女孩,当她再次见到那个暖萌少男时,她承认,自己一定是爱上他了……
  • 如三月兮

    如三月兮

    新人尝试男主一袭青青子衿迷了女主十年心感兴趣入哦~
  • 送皇甫冉往安宜

    送皇甫冉往安宜

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。汇聚授权电子版权。
  • 特种兵穿越:凤动九天

    特种兵穿越:凤动九天

    千年前,他们在漫天桃花的飞舞中相遇;一见倾心,二见钟情,三见定终身;可到头来,他,却杀了她。一世情劫,二世悲,三世苦恋。千年后,一如当年,他在漫天桃花中又遇到了她;这一次,他对她一见倾心,二见钟情,三见死缠烂打,开始了他苦逼的追妻之路。
  • 灵玉传说

    灵玉传说

    一块幽蓝的美玉,从天而降,卷起一段腥风血雨。时代变迁,美玉流落凡间,成就了谁,毁灭了谁。本人是在校学生,每天更新的可能性不大,而且这是第一次写,玩各位读者不要介意。。。
  • 佛说过去世佛分卫经

    佛说过去世佛分卫经

    本书为公版书,为不受著作权法限制的作家、艺术家及其它人士发布的作品,供广大读者阅读交流。
  • 学生要懂心理学

    学生要懂心理学

    优秀的同学为什么总是知而不言?为什么学习越努力成绩越差?怎样避免学习中的眉毛胡子一把抓?怎样解决学习中的“高原现象”?怎样才能跳出书中的框框?怎样才能克服“马虎”的毛病?如何克服考试怯场心理?如何在考试中超水平发挥?如果落榜应该如何对待?女孩子真的就比男孩子笨吗?……在学生的心里,可能存在着很多这样的问题,因为没有得到合理的解答,他们备感迷茫。不是孩子不努力,而是心灵被上了锁。本书列举了学生在学习中碰到的各种典型问题,并从心理学的角度进行深刻分析,相信可以拉直莘莘学子心中的诸多问号。
  • 刃影人

    刃影人

    我是一个极为普通的人,无目标无理想,过一天是一天,而就在我快被平静的生活所麻木的时候,突然不断涌来的奇怪的事情和一群怪异又特别的人打乱了我的步伐,将我从死水般的生活中拽出,指引我迎向那奇异独特又神秘的未来……
  • 惑乱庶女太猖狂

    惑乱庶女太猖狂

    她是丞相府夫人二女比不少嫡亲姐姐,而且一生下来就是个傻子。她现代里一个女商人,却不想到自己走错了棋子光荣牺牲,一夜游魂,借尸重生。有着庶女的身份上能气到皇帝下能吓疯狠毒嫡母,骑在丞相头上无法无天。拐走帅哥去经商,碰到呆萌腹黑小太子,一把拽过来逼着人家嫁给她,还要人家给她生娃子·······
  • 人类拯救计划

    人类拯救计划

    一次救援行动,将孟起卷入了一场旷世的变革之中,也将一个更加绚丽多彩的世界在他的面前展开了来。在这个崩坏的世界中,文明和野蛮不断碰撞,正义与邪恶模糊不清,一切的一切都只是为了活下去。只要能活下去,终将会发现隐藏在一切背后的血腥真相。