资源描述
按一下以編輯母片標題樣式,按一下以編輯母片,第二層,第三層,第四層,第五層,*,*,*,11/14/2026,1,FoxeraTemplate.ppt,管理用户,11/14/2026,2,FoxeraTemplate.ppt,管理用户,用户与安全性,安全域,数据库管理员负责定义可以访问数据库的用户名。安全域定义应用于用户的设置。,验证机制,可通过以下方式之一对需要访问数据库的用户进行验证:,数据字典、操作系统、网络,验证方法是在数据库中定义用户时指定的,之后可随时改变。本课仅讨论通过数据库和操作系统进行验证的方式。,表空间限额,表空间限额控制分配给数据库中表空间用户的物理存储空间的大小。,缺省表空间,如果用户在创建段时不明确指定表空间,那么缺省表空间会定义用户所创建段的存储位置。,临时表空间,如果用户执行的操作要求将排序数据写入磁盘,那么临时表空间会定义,Oracle,服务器分配哪些区。,11/14/2026,3,FoxeraTemplate.ppt,管理用户,帐户锁定,可锁定帐户以防止用户登录数据库。可以设置自动锁定,也可由数据库管理员手动锁定帐户或解除锁定。,资源限制,可以对某些资源的使用加以限制,如:,CPU,时间、逻辑输入,/,输出,(I/O),以及用户打开的会话数目。,直接权限,权限用于控制用户能在数据库中执行的操作。,角色权限,可通过使用角色间接授予用户权限。,本课讨论通过适当的验证机制定义用户、限制系统中用户对空间的使用和手动控制帐户锁定。,11/14/2026,4,FoxeraTemplate.ppt,管理用户,11/14/2026,5,FoxeraTemplate.ppt,管理用户,11/14/2026,6,FoxeraTemplate.ppt,管理用户,11/14/2026,7,FoxeraTemplate.ppt,管理用户,创建新用户:数据库验证,语法:,使用以下命令创建新用户:,CREATE USER,user,IDENTIFIED BY password|EXTERNALLY,DEFAULT TABLESPACE,tablespace,TEMPORARY TABLESPACE,tablespace,QUOTA integer K|M|UNLIMITED ON,tablespace,QUOTA integer K|M|UNLIMITED ON,tablespace,.,PASSWORD EXPIRE,ACCOUNT LOCK|UNLOCK,PROFILE profile|DEFAULT,11/14/2026,8,FoxeraTemplate.ppt,管理用户,User,:是用户名,BY password,:指定用户在登录时需通过数据库验证,还必须提供口令,EXTERNALLY,:指定用户需通过操作系统验证,GLOBALLY AS,:指定对用户进行全局验证,DEFAULT,或,TEMPORARY TABLESPACE,:为用户标识缺省或临时表空间,QUOTA,:定义表空间中允许用户拥有对象所具有的最大空间(可将限额定义为整数字节或,千字节,/,兆字节。关键字,UNLIMITED,用于指定用户拥有的对象可使用表空间内的全部可用,空间。缺省情况下,用户在任何表空间上都没有限额。),PASSWORD EXPIRE,:强制用户在使用,SQL*Plus,登录到数据库时重置口令(该选项仅在,用户通过数据库进行验证时有效)。,ACCOUNT LOCK/UNLOCK,:可用于显式锁定或解除锁定用户帐户(,UNLOCK,为缺省设置),PROFILE,:用于控制资源使用和指定用户的口令控制机制。,口令验证方法是必需的。如果指定了口令,则,Oracle,服务器将在数据字典中对其进行维,护。用户通过服务器进行验证时,可使用,Oracle,服务器提供的口令控制机制。,设置了口令之后,当用户使用,SQL*Plus,登录时将接收到下列登录消息,同时系统提示用,户输入新口令:,11/14/2026,9,FoxeraTemplate.ppt,管理用户,11/14/2026,10,FoxeraTemplate.ppt,管理用户,创建新用户:操作系统验证,用,CREATE USER,命令的,IDENTIFIED EXTERNALLY,子句指定用户必须通过操作系统进行验证。当用户直接登录到运行,Oracle,服务器的计算机上时,该选项通常很有用。,操作系统验证的用户名:,OS_AUTHENT_PREFIX,初始化参数用来指定操作系统验证的用户名的格式。该参数的缺省值为,OPS$,,以便与,Oracle,服务器的早期版本向后兼容。要将前缀设置为,NULL,值,请将该初始化参数指定为:,OS_AUTHENT_PREFIX=,“,幻灯片中的示例显示如何在数据库内定义用户,aaron,。此处指定允许操作系统用户,aaron,无需经过,Oracle,服务器验证即可访问数据库。因此,若要使用,SQL*Plus,登录到系统,则,UNIX,用户,aaron,必须从该操作系统输入下列命令:,$,sqlplus,/,11/14/2026,11,FoxeraTemplate.ppt,管理用户,操作系统验证的用户名,使用,OS_AUTHENT_PREFIX=OPS$,时:提供了灵活的用户验证方式,既可通过操作系统进行验证,也可通过,Oracle,服务器进行验证。在这种情况下,,DBA,可通过输入下列格式的命令创建用户:,CREATE USER,ops$user,IDENTIFIED BY password.,登录到运行,Oracle,服务器的计算机上的用户无需提供口令。如果用户从远程客户机连接,则可提供口令以实现连接。,设置另一个初始化参数,REMOTE_OS_AUTHENT=TRUE,,指定用户可通过远程操作系统进行验证。缺省值,FALSE,表示用户只能通过运行,Oracle,服务器的计算机进行验证。应小心使用该参数,因为可能存在安全隐患。如果数据库中的某些用户通过操作系统进行验证,则更改,OS_AUTHENT_PREFIX,可防止这些用户登录到数据库。,11/14/2026,12,FoxeraTemplate.ppt,管理用户,更改用户的表空间限额,使用下列命令修改表空间限额或重新分配表空间:,ALTER USER,user,DEFAULT TABLESPACE,tablespace,TEMPORARY TABLESPACE,tablespace,QUOTA integer K|M|UNLIMITED ON,tablespace,QUOTA integer K|M|UNLIMITED ON,tablespace,.,如果分配的限额为,0,,用户拥有的对象仍保留在撤消的表空间内,但不能给它们分配新的空间。例如,如果表空间,USERS,内有一个,10 MB,的表,若将该表空间的限额改为,0,,则不能再为该表分配新区。任何未更改的选项保持不变。,注:对于,UNLIMITED TABLESPACE,权限应格外注意,因为它优先于限额设置。,11/14/2026,13,FoxeraTemplate.ppt,管理用户,删除用户,DROP USER,user,CASCADE,原则:,在删除用户前,,CASCADE,选项将删除方案中的所有对象。如果方案中包含任何对象,则必须指定该选项。不能删除当前与,Oracle,服务器连接的用户。,获取用户信息,可以通过查询以下视图来获取有关用户的信息:,DBA_USERS,DBA_TS_QUOTAS,11/14/2026,14,FoxeraTemplate.ppt,管理权限,管理权限,权限是指执行特定类型的,SQL,语句或访问另一个用户的对象的权利。包括以下权利:,连接到数据库、创建表、从另一用户的表中选择行、执行另一用户的存储过程,系统权限,每一系统权限都允许用户执行某一特定的数据库操作或某类数据库操作,例如,创建表空间的权限就是一种系统权限。,对象权限,每一对象权限都允许用户对特定对象(如表、视图、序列、过程、函数或程序包)执行特定的操作。,DBA,的权限控制包括:,为用户提供执行某种操作的权限、授予和撤消执行系统功能的权限,将权限直接授予用户或角色、将权限授予所有用户,(PUBLIC),11/14/2026,15,FoxeraTemplate.ppt,管理权限,系统权限,有,100,多种不同的系统权限。,权限中的关键字,ANY,表示用户在任何方案中都具备这种权限。,GRANT,命令为一个用户或一组用户添加一项权限。,REVOKE,命令则用来删除权限。,系统权限分类,允许执行系统范围操作的权限如,CREATE SESSION,,,CREATE TABLESPACE,允许管理用户自己方案中的对象的权限;如,CREATE TABLE,允许管理任何方案中的对象的权限;如,CREATE ANY TABLE,可使用,DDL,命令,GRANT,和,REVOKE,控制权限,这两个命令为用户或角色添加和撤消系统权限。,11/14/2026,16,FoxeraTemplate.ppt,管理权限,11/14/2026,17,FoxeraTemplate.ppt,管理权限,授予系统权限,使用,SQL,语句,GRANT,为用户授予系统权限。,被授予者可通过,ADMIN,选项进一步为其他用户授予系统权限。使用,ADMIN,选项授予系统权限时应小心。这样的权限通常只限于安全管理员使用,很少授予其他用户。,GRANT,system_privilege|role,system_privilege|role,.,TO,user|role|PUBLIC,user|role|PUBLIC,.,WITH ADMIN OPTION,其中:,system_privilege,:指定要授予的系统权限,Role,:指定要授予的角色名,PUBLIC,:将系统权限授予所有用户,WITH ADMIN OPTION,:允许被授予者进一步为其他用户或角色授予权限或角色,11/14/2026,18,FoxeraTemplate.ppt,管理权限,11/14/2026,19,FoxeraTemplate.ppt,管理权限,系统权限限制,Oracle9,i,中的字典保护机制可防止未经授权的用户访问字典对象。,只有角色,SYSDBA,和,SYSOPER,可以访问字典对象。允许访问其他方案中的对象的系统权限并不授予您对字典对象的访问权限。例如,,SELECT ANY TABLE,权限允许您访问其它方案中的视图和表,但不允许您选择字典对象(基表、视图、程序包和同义词)。,如果该参数设置为,TRUE,则允许访问,SYS,方案中的对象(,Oracle7,行为)。如果该参数设置为,FALSE,,则允许访问其它方案中的对象的,SYSTEM,权限不允许访问字典方案中的对象。,例如,如果,O7_DICTIONARY_ACCESSIBILITY=FALSE,,则,SELECT ANY TABLE,语句将允许访问除,SYS,方案外的任何方案中的视图或表(例如,不能访问字典)。系统权限,EXECUTE ANY PROCEDURE,将允许访问除,SYS,方案外的任何其它方案中的过程。,11/14/2026,20,FoxeraTemplate.ppt,管理权限,撤消系统权限,可以使用,REVOKE SQL,语句撤消系统权限。使用,ADMIN OPTION,授予系统权限的用户可,以撤消任何其他数据库用户的权限。撤消者不必是原先授予该权限的那个用户。,REVOKE,system_privilege|role,system_privilege|role,.,FROM,user|role|PUBLIC,user|role|PUBLIC,.,注:,REVOKE,命令只能撤消使用,GRANT,命令直接授予的权限。,撤消系统权限可能对一些相关对象有影响。例如,如果将,SELECT ANY TABLE,授予某用户,而该用户已创建了使用其它方案中的表的过程或视图,则撤消该权限将使这些过程或视图无效。,11/14/2026,21,FoxeraTemplate.ppt,管理权限,11/14/2026,22,FoxeraTemplate.ppt,管理权限,撤消系统权限,撤消系统权限时没有级联效果,这与该系统权限是否使用,ADMIN OPTION,授予无关。,请仔细阅读下列步骤,它们对这种特性进行了说明情况,1.DBA,使用,ADMIN OPTION,将系统权限,CREATE TABLE,授予,Jeff,。,2.Jeff,创建一个表。,3.Jeff,将系统权限,CREATE TABLE,授予,Emi,。,4.Emi,创建一个表。,5.DBA,撤消,Jeff,的,CREATE TABLE,系统权限。,结果,Jeff,的表依然存在,但是,无法创建新表。,Emi,的表依然存在,并且她仍然拥有,CREATE TABLE,系统权限。,11/14/2026,23,FoxeraTemplate.ppt,管理权限,11/14/2026,24,FoxeraTemplate.ppt,管理权限,撤消对象权限,撤消与,DML,操作有关的系统权限时,可看到级联效果。例如,如果为某用户授予,SELECT ANY TABLE,权限,并且该用户已经创建了使用某个表的过程,则必须对该用户的方案中包含的所有过程进行重新编译之后,才能使用这些过程。,如果对象权限是用,WITH GRANT OPTION,授予的,则撤消对象权限也将导致级联效果。,请仔细阅读下列步骤,它们对这种特性进行了说明情况:,通过,GRANT OPTION,授予,Jeff,对于,EMPLOYEES,的,SELECT,对象权限。,Jeff,将对于,EMPLOYEES,的,SELECT,权限授予,Emi,。,之后,撤消,Jeff,的,SELECT,权限。该撤消也对,Emi,产生级联影响。,获取权限信息,可以通过查询以下视图来获取有关权限的信息:,DBA_SYS_PRIVS,、,SESSION_PRIVS,、,DBA_TAB_PRIVS,、,DBA_COL_PRIVS,。,
展开阅读全文