登陆注册
18254100000018

第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;

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

同类推荐
  • 玩转手机

    玩转手机

    本书主要包括:手机的发展历史、手机知识、手机的选购与巧用、手机与网络、手机短信等内容。
  • 网络知识

    网络知识

    一般地说,将分散的多台计算机、终端和外部设备用通信线路互联起来,彼此间实现互相通信,并且计算机的硬件、软件和数据资源大家都可以共同使用,实现资源共享的整个系统就是计算机网络。
  • 学校计算机实用技术

    学校计算机实用技术

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

    信息革命

    随着经济社会的快速发展,电子产品走进了千家万户,与电子产品相伴的信息技术也已渗透到人们生产生活的方方面面。加强信息技术普及,已成为业内人士的共识。鉴于此,在有关部门的大力支持下,经过认真筹划,我们编辑出版了《信息革命》一书。该书以时间为经,在记述信息技术发展历程的同时,深入浅出地介绍了信息技术的相关知识,对人们更好地利用现代信息技术服务经济社会建设和个人生产生活必将产生积极作用。本书由李大东主编。
  • 领导干部信息化基础

    领导干部信息化基础

    本书共分6章,分别介绍了计算机网络综述;信息化的三个主要领域,即电子政务(政府信息化)、企业信息化和电子商务;PowerPoint 2000中文演示文稿等内容。
热门推荐
  • 三界为尊

    三界为尊

    天下是一盘棋,一个废材也可做那下棋人?一个天生的废材,原本只能苟且一生的人。为了心中的梦想!为了了解身体的秘密!他!只身一人踏入世间。看红尘、破天机!屠龙魔、灭天神!欲与天公似比高!拯救苍生,独为尊!
  • 逆斩天穹

    逆斩天穹

    魔主一怒,浮尸万里。纵然重生草包,依然势不可挡!
  • 好习惯·卖火柴的小男孩

    好习惯·卖火柴的小男孩

    成也习惯,败也习惯,习惯大于天。很多事情,我们做一次也许不习惯,但是只要反复去做,终究会成为我们的习惯。很多成功的人,从小就拥有好习惯,所以说这些习惯成为了他的品质,促进了他的成功。《卓越青少年成才励志馆:好习惯·卖火柴的小男孩》是一本讲述好习惯的书,拥有无数关于习惯的小故事,《卓越青少年成才励志馆:好习惯·卖火柴的小男孩》从学习、做人、生活、品行等各个方面讲述了拥有一个好习惯对我们的人生多么重要。   
  • EXO之Teamo我爱你

    EXO之Teamo我爱你

    女主角狄雨蒙从预备出道的新人到重新被打回练习生重新训练,在韩国经历了起起伏伏,凭着一股不服输的努力和拼劲终于实现自己的梦想。男主角吴世勋面对队员的离开心里很烦闷,迷茫的他遇到了天生反骨的女主角,因为内心的羡慕而故意打压女主角,却一次又一次地被女主角的坚强和不懈所感动,同时又因为女主角的鲁莽而担心,渐渐不能从女主角身上移开视线。同在这个残酷的演艺圈打拼的两个人,终于因为心灵相通而走到了一起。
  • 封魔龙歌

    封魔龙歌

    封宇天地浑,魔魇掩星辰。龙啸九万里,歌载英雄魂。一位从天而降的神秘少年,一段关系大陆存亡的英雄故事。亲情、友情、爱情,纵横交织,演绎一段旷世传奇!
  • 六轮无鬼

    六轮无鬼

    妖魔纵横,仙神旁观。人族凄苦,生路何处?六轮无鬼,雄霸三界,唯人独尊!
  • 静默笙箫人已殇

    静默笙箫人已殇

    她没有记忆,不懂过去,能记得的是他为自己奔波劳碌的身影。口不能言,使她成为上京后宫里的“哑妃”,但是只因能在他身边,流言蜚语都甘之如饴。只是三年,那个深情地唤她妻的帝王为何不曾看顾?伤了的心,错了的情。她原不是她;他本不是他。情到深处已是殇,帝王人家莫道恩。
  • 传奇九洲

    传奇九洲

    歌手,丧命在爱人之手,心灰意冷的他,魂魄在黑暗中无尽漂泊,久而久之又燃起了对生的眷恋。终于,转生异世大陆,这里是一个不一样的世界,这里以武为尊,强者一怒血流成河,恰逢乱世,七句箴言,逐一实现,究竟会发生什么,他会不会在异世更加闪耀。当越来越多的人聚集在他身边的时候,他才明白他背负了一个多么艰巨的使命。这片天地又将会发生怎样的改变,这属于强者的舞台,谁将会主宰一切,横行九洲,解开古老的传说...
  • 悬棺漫记

    悬棺漫记

    西征西夏,一代天骄成吉思汗死在归途,因蒙古人实行“密藏”,将近千年以来,没人知道草原霸主魂归何处?历史虽然湮没,但是总会留下一些碎屑供后人去探寻,来揭开成吉思汗黄金家族的秘密吧
  • 画圣

    画圣

    “画一片云在手心,就拥有了整片天空。”这是神卷大陆对强大的画师作出的评价。相传,太始元年,有神卷携氤氲之光自天而降,分散落在人间。大陆各族因观神卷之雅韵有所得而获天地之力认可。自此,画道成。多年以后,人族一代画圣于画师陵陨落,随后重生到了一个身份神秘的少年身上,也由此,开启了一个逆天画师的崛起征程!