实验用户与权限的管理_第1页
实验用户与权限的管理_第2页
实验用户与权限的管理_第3页
实验用户与权限的管理_第4页
实验用户与权限的管理_第5页
已阅读5页,还剩69页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验用户与权限的管理第一页,共七十四页,2022年,8月28日资源与环境科学学院主要内容用户与权限的管理

1、用户与模式的关系

2、Oracle安全管理的机制

3、管理用户

4、管理权限

5、管理角色

6、管理概要文件

7、DBA用户介绍及登录中常见的问题第二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理7.1用户与模式(方案)的关系

在Oracle系统的逻辑结构中,包含了从只能存储字节的数据块,到可以容纳整个数据库的表空间等多级别的存储结构,但是所有这些逻辑结构都不是一般的数据库用户可以直接进行操作的对象。一般用户可以直接操作的是类似于表、索引和视图这样的对象。在Oracle数据库中,这些对象不是随意保存在数据库中的,而是通过“模式”来组织和管理这些数据库对象的。

Oracle系统中的模式,就是一系列逻辑数据结构或对象的集合。用户是ORACLE安全管理的术语。每个客户机必须以某个用户名登录数据库,经过验证后按照赋予用户的权限完成特定的操作。Oracle数据库中的每一个用户都拥有一个唯一的模式,该用户创建的所有模式对象都默认地保存在自己的模式中。一个模式只能被一个数据库用户所拥有,并且模式的名称与该用户的名称相同。模式对象是一种逻辑数据存储结构,它与数据文件并不存在物理上的对应关系,一个模式对象也能被存储在一个表空间的多个数据文件中。表空间、用户和角色等数据库对象由于不属于任何模式,称为非模式对象。第三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理注意:在Oracle数据库中,虽然模式与数据库用户是一一对应的,并且同名,二者经常可以相互替换,但是要清楚它们是两个完全不同的概念。

7.2Oracle安全管理的机制

数据库安全是指通过一定的机制保护数据库内的数据,根据数据安全的不同特性,数据库安全管理可划分为两大类:

1、数据的备份与恢复:是为了保证数据的完整性和一致性,防止因各种物理的或事务故障而导致的数据破坏和灾难而采取的防范措施。此类问题暂不讨论。

2、用户身份、权限验证和防止数据泄露及篡改等管理。此类管理是常规性的,通常可包括三个部分:数据库内部的管理:主要包括用户标识/口令、角色与权限等。资源管理:主要通过系统概要文件限制连接会话等。网络数据通信管理:主要采用口令文件、数据加密等Oracle高级安全技术实施。第四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理在第2类安全管理中,为防止用户对数据库进行不合法的操作,Oracle主要采用以下两种安全机制:

Oracle提供一个安全的授权和检查机制,规定用户的权限,用户操作时,只能执行权限允许范围内的操作;

Oracle使用审计技术,记录用户的行为,当执行了不合法的操作时,通常查询审计记录能找出执行不合法操作的用户、操作时间、操作内容等。可以说,第一种方法是一种预防机制,可以预防不合法的操作发生;第二种方法是一种责任追究机制。

Oracle把所有的权限信息都记录在数据字典中,用户进行数据库操作时,Oracle首先根据数据字典内的权限信息检查操作是否合法,当发现操作不合法时,即用户没有操作权限时,会给出错误提示信息,同时拒绝执行操作。第五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理7.3管理用户

管理用户是Oracle实现安全性的一个重要途径。只有通过用户验证,用户才能具有访问数据库的权利。新创建的用户必须通过数据库管理员授权才能获得数据库使用权限。数据库安装后,数据库中只有SYS、SYSTEM等系统用户,而这些用户都具有很高的权限,如果使用这些用户来操纵数据库,那么对数据库系统的稳定性和安全性都是一种威胁,因此,通常利用系统用户来创建一些具有特定权限的用户对数据库进行操作。

1、数据的备份与恢复:是为了保证数据的完整性和一致性,防止因各种物理的或事务故障而导致的数据破坏和灾难而采取的防范措施。此类问题暂不讨论。第六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.3.1创建用户

创建用户有企业管理器(OEM)和命令行方式两种方式。企业管理器方式(略),下面介绍命令行方式:在SQL*Plus或iSQL*Plus中使用CREATEUSER命令创建用户,创建命令的一般格式如下:

CREATEUSER<用户名>PROFILE<概要文件名>IDENTIFIEDBY<口令>|EXTERNALLY|GLOBALLYAS<全局标识>DEFAULTTABLESPACE<表空间名>TEMPORARYTABLESPACE<表空间名>QUOTA<整数>|UNLIMITEDON<表空间名>ACCOUNTUNLOCK|LOCK;

其中:

IDENTIFIED:Oracle如何验证用户,BY口令表示该用户必须指定口令进行登录,口令中只能包含数据库字符集中的单字节字符。第七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理EXTERNALLY:表示创建一个外部用户,该用户必须由外部服务程序进 行验证。GLOBALLYAS:全局标识表示创建一个全局用户,必须由企业目录服务 器验证用户。DEFAULTTABLESPACE:用户所创建对象的默认表空间名,如果忽略,系统将默认保存在登录用户所在的表空间里。TEMPORARYTABLESPACE:用户所创建对象的临时表空间,如果忽略,那么系统将默认保存在登录用户所在的表空间里。QUOTA:允许用户在指定的表空间中分配空间定额并建立一个限额的空间。UNLIMITED:允许用户无限制的分配表空间中的空间定额。ACCOUNTUNLOCK

:表示用户未锁定,ACCOUNTLOCK表示用户已锁定。PROFILE:表示创建的用户所授予的概要文件。概要文件包含了分配给用户的系统资源信息。默认概要文件为DEFAULT。第八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理例如:使用SYSTEM帐户登录后,使用create语句创建一个用户me,尝试连接数据库,失败。因为用户还没有登录权限。

图7-1CREATE语句创建用户第九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理图7-2用带参数的CREATE语句创建用户若想重建该用户,先删除已有的用户第十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

为了使用me用户登录,使用如下语句为其分配连接到数据库的权限。图7-3给新建用户授予连接数据库权限第十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

CREATESESSION是一个系统特权,拥有该特权的用户具有连接数据库的能力;RESOURCE是一个系统角色,拥有该角色的用户可以在自己的模式中创建模式对象。

7.3.2查看用户

命令行方式:在Oracle数据库中,用户信息存储在DBA_USERS数据字典中。可以用DESC命令查看数据字典DBA_USERS的结构。图7-4查看数据字典DBA_USERS的结构第十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理注意:新建用户必须具有selectanydictionary系统权限才能查看数据字典信息。图7-5授权用户me查看数据字典第十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

图7-6用户被授相应权限后可以查看数据字典第十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理利用DBA_USERS数据字典,查看用户的PASSWORD,EXPIRY_DATE,PROFILE,TEMPORARY_TABLESPACE等信息。图7-7用户查看数据字典的指定字段第十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.3.3修改用户命令行方式:在SQL*Plus或iSQL*Plus中使用ALTERUSER命令修改用户,命令格式与创建用户相同。例:图7-8用户me还没有alter权限,所以以system登录修改或system用户给me用户赋Alteruser系统权限即可。第十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.3.4删除用户命令行方式:在SQL*Plus或iSQL*Plus中使用DROPUSER<用户名>。7.4管理权限权限是操作数据库的权利,权限越大,操作数据库的权利越大。Oracle有系统权限和对象权限两种类型。当用户创建之后,应当对其授予适当权限,以便于新用户合理使用数据库。

7.4.1系统权限根据系统权限的名称中是否包含ANY关键字,可以将系统权限分为两大类,带有ANY的系统权限允许用户在数据库的任何方案上执行特定操作;而不带ANY关键字的系统权限只可以在用户自己的模式中进行相应的操作。系统权限列举在SYSTEM_PRIVILEGE_MAP视图内。第十七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理例如:图7-9用户me下查询系统权限视图(该用户已具有selectanydictionary系统权限)第十八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

1、授予系统权限:

GRANT系统权限1[,系统权限2,…]TO用户|角色|PUBLIC,用户|角色|PUBLIC,…WITHADMINOPTION其中:PUBLIC:将系统权限授予所有用户;WITHADMINOPTION:允许得到权限的用户再将这些权限授予其他用户。

2、收回系统权限:

REVOKE系统权限1[,系统权限2,…]FROM用户|角色|PUBLIC,用户|角色|PUBLIC,…注意:

REVOKE命令只能收回通过GRANT命令直接授予的权限。如果想收回WITHADMINOPTION子句,就必须先将权限收回,然后再用不带WITHADMINOPTION的GRANT语句重新授予。第十九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理例如:图7-10为用户me授权和撤权第二十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.4.2对象权限对象权限是允许用户访问一个特定对象,并对特定对象执行特定操作时所需要的权利。Oracle10g的对象权限包括表权限、视图权限、序列权限、存储过程、函数、包和JAVA对象权限。具体的对象权限可从OEM企业管理器查看。对于某些模式对象,如簇、索引、触发器等没有相应的对象权限,这些权限由系统权限进行管理。对于包含在用户模式中的所有对象,该用户对这些对象具有全部实体权限,即模式的拥有者对模式中所有对象具有全部对象权限。另外,对象的拥有者可将这些对象上的任何对象权限授予其他用户。非对象拥有者不可以将对象权限授予其他用户。

1、命令行方式授予对象权限的方法是在SQL*Plus或iSQL*Plus中使用GRANT命令,具体格式如下:第二十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

GRANT对象权限1[,对象权限2,…]ON模式.对象名

TO用户|角色|PUBLIC,用户|角色|PUBLIC,…WITHGRANTOPTION其中:

PUBLIC:表示将对象权限授予所有用户。

WITHGRANTOPTION:表示允许获得某对象权限的用户把此权限授予 其他用户。

2、命令行方式收回对象权限的方法是在SQL*Plus或iSQL*Plus中使用REVOKE命令,具体格式如下:

REVOKE对象权限1[,对象权限2,…]ON模式.对象名

FROM用户|角色|PUBLIC,用户|角色|PUBLIC,…第二十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理在撤销对象权限时,经过传递获得的对象权限的用户会受到影响,如果将A用户的权限撤销,通过A用户授予B用户的对象权限也同时被撤销。这种撤销也就是级联撤销。为了保证用户数据的安全,用户必须了解基本表的的权限状况。这可以通过查询数据字典视图USR_TAB_PRIVS,以确认将哪些基本表的权限授予了哪些用户。数据字典视图USR_TAB_PRIVS的结构如图:图7-11数据字典USR_TAB_PRIVS的结构第二十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

其中,GRANTEE表示接受对象权限的用户,OWNER为表的拥有者,GRANTOR为授权用户,PRIVILEGE表示对象权限,GRANTABLE表示该用户是否拥有向其他用户授予对象权限的权限,即向其授权时是否使用了WITHGRANTOPTION选项。在需要为用户授予对象上的所有权限时,Oracle提供了一种快捷的方式,即使用ALL或ALLPRIVILEGES方式,ALL并不是数据库中的权限,它只是授予对象权限组合的快捷方式。使用ALL授予权限后,相应地,使用ALL也可以撤销所有的对象权限。

第二十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理7.5管理角色

Oracle为了简化权限管理,提供了角色的概念。

角色是具有名称的一组相关权限的组合,即将不同的权限集合在一起就形成了角色。可以使用角色为用户授权,同样也可以撤销角色。由于角色集合了多种权限,所以当为用户授予角色时,相当于为用户授予了多种权限。这样就避免了向用户逐一授权,从而简化了用户权限的管理。在为用户授予角色时,既可以向用户授予系统预定义的角色,也可以自己创建角色,然后在授予用户。

7.5.1系统预定义角色系统预定义角色就是在安装数据库后,由系统自动创建的一些角色,这些角色已经由系统授予了相应的权限。常见的系统预定义角色包括CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE和IMP_FULL_DATABASE。第二十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

DBA角色拥有管理数据库的最高权限,该角色允许被授权者执行任何数据功能。角色

CONNECT、RESOURCE

DBA

主要用于数据库管理,也是数据库管理员所必须的角色。这三个角色之间没有包含与被包含的关系,授予DBA角色的用户需要授予CONNECT和RESOURCE角色,授予RESOURCE角色的用户需要授予CONNECT角色。角色EXP_FULL_DATABASE

与IMP_FULL_DATABASE

主要用于数据库的逻辑备份。在用户使用EXPORT与IMPORT工具导入或导出数据时,用户需要具有这两个角色。

数据字典

DBA_ROLES

记录了数据库中的全部角色信息。通常情况下,为了Oracle数据库的安全,不应该使用任何预定义的角色,因为预定义的角色一般针对一些典型的用户而设置。因此,在实际应用中,应该按实际的需求为用户授予自定义角色。第二十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.5.1自定义角色如果系统预定义的角色不符合用户的需求,可以创建更多的角色,即自定义角色,创建角色的语法如下:

CREATEROLErole_name[NOTIDENTIFIED|IDENTIFIEDBYPASSWORD];

其中,NOTIDENTIFIED表示该角色不需要口令就可以修改该角色,IDENTIFIEDBY表示在修改角色时,必须提供口令。默认情况下没有口令。通常情况下,为了Oracle数据库的安全,不应该使用任何预定义的角色,因为预定义的角色一般针对一些典型的用户而设置。因此,在实际应用中,应该按实际的需求为用户授予自定义角色。第二十七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理例如:图7-12自定义角色第二十八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理给用户me授予自定义角色给所有用户授予自定义角色撤销所有用户的自定义角色用户可以通过数据字典视图ROLE_SYS_PRIVS查询用户所具有的角色,以及该角色所包含的系统权限。如果需要为用户增加或减少权限时,只需要为相应的角色增加或减少权限,即可实现对使用该角色的用户的权限进行修改。例如,要为用户减少权限createtrigger权限,只需要使用减少角色general_user的权限即可:

revokecreatetriggerfromgeneral_user;图7-13第二十九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.5.2启用和禁用角色通过启用和禁用角色,可以实现对ORACLE角色所包含的权限的动态管理。使用SQL语句的SETROLE可以显式地启用或禁用角色的权限。SETROLE的语法如下:

SETROLE[role[identifiedbypassword]|,role[identifiedbypassword]…]|ALL

[EXCEPTrole[,role]]|NONE];

其中,使用带ALL选项的SETROLE语句时,将启用用户被授予的所有角色,使用ALL选项有一个前提条件,该用户的所有角色不得设置密码。EXCEPTROLE表示除指定的角色外,启用其他全部角色。NONE表示使用户的所有角色失效。还可以使用SETROLE语句修改角色密码:

SETROLEgeneral_useridentifiedbygeneral第三十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理给用户me授予系统角色在用户me下使该用户的所有角色无效查询数据字典视图了解设置状况图7-14第三十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理启用所有角色启用指定角色查看数据字典图7-15第三十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.5.3修改用户时设置角色当为用户授予某角色后,该角色就成为用户的默认角色,默认角色是用户登录数据库时由Oracle自动启用的角色,当向用户授予多个角色时,默认角色为授予的多个角色组成的列表。也可以使用ALTERUSER来设置用户的默认角色,语法如下:

ALTERUSERuser_name[defaultrole[role_name[,role_name,…]]|all[exceptrole_name[,role_name,…]]|none];其中,DEFAULTROLE表示默认的角色;使用关键字ALL可以设置该用户的所有角色;EXCEPT则可以设置某角色外其他所有角色;NONE则设置所有角色为禁用状态。例如:下面的语句设置用户me的默认角色为CONNECT,而不是多个角色组成的角色列表:

alterrolemedefaultroleconnect;第三十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理如果想禁用某个角色,也可以使用

ALTERUSERuserDEFAULTROLENONE语句。在禁用用户的角色后,该用户角色的所有权限将全部消失,即使再次向用户授予角色,角色也依然被禁用。被禁用的角色可以重新被启用,启用角色后,用户的相应权限又可以正常使用了。如:

alterusermedefaultroleallexceptgeneral_user;

7.5.4删除角色Droprolegeneral_user;第三十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理7.6管理概要文件

概要文件用来限制用户对资源的访问,并进行口令的管理。例如,当考试的时候,管理员可以通过设置概要文件的参数来定义用户的考试时间,当考试时间到达时,用户自动失去登录数据库的权限,从而来控制用户对数据库资源的访问;又如,如果当一些数据库用户连续3次登录并输入密码错误,系统将自动锁定该用户。通过这些设置,数据库管理员可以为不同的用户建立不同的概要文件,当概要文件授予某个用户时,该用户具有某种限定,系统将按此概要文件来分配系统资源。

Oracle建立数据库时,系统自动建立了一个名为DEFAULT的概要文件。创建用户时,如果没有设置该用户的概要文件,那么系统将默认把DEFAULT概要文件自动授予该用户。

7.6.1创建概要文件第三十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理在Oracle数据库中创建概要文件的方法有企业管理器方式和命令行方式两种。命令行方式相对复杂,这里以企业管理器方式介绍概要文件的创建:在企业管理器中选择“管理”\“用户和权限”\“概要文件”,出现概要文件管理界面:图7-16第三十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理图7-17概要文件管理界面第三十七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理单击“创建”按钮,出现创建概要文件的“一般信息页”界面:图7-18概要文件的“一般信息页”界面第三十八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理在图7-8中各项名称的具体含义如下:名称:指创建概要文件的名字,在同一数据库中所创建的概要文件名是惟一的。

CPU/会话:指允许一个会话占用CPU的时间总量,该限值以秒来表示。

CPU/调用:指允许一个调用占用CPU的时间最大值,该限值以秒来表示。连接时间:指允许一个会话持续时间的最大值,该限值以分钟来表示。空闲时间:指允许一个会话处于空闲状态的时间最大值。空闲时间是会话中持续不活动的一段时间。长时间运行的查询和其他操作不受此限值的约束,该限值以分钟来表示。并行会话数:指允许一个用户进行并行会话的最大数量。读取数/会话:指会话中允许读取数据块的总数,该值包括从内存和磁盘读取的块。读取数/调用:指允许一个调用在处理一个SQL语句时读取的数据块的最大数量。专用SGA:指在系统全局区(SGA)的共享池中,一个会话可以分配的专用空间量的最大值。组合限制:指一个会话消耗资源的总量。包括:会话占用CPU的时间、连接时间、会话中的读取和分配的专用SGA空间量等相加的权和。第三十九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理单击“口令”按钮,出现创建概要文件的“口令页”界面:图7-19概要文件的“口令页”界面第四十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理概要文件的“口令”页用于定义概要文件的口令属性,各项名称的具体含义如下:有效期:指限定多少天后口令失效,达到有效天数后,则利用该口令的连接将收到一个警告,要求更改成新口令。最大锁定天数:限制一个口令在到达有效期之后的一个天数,即宽限天数。此后,用户将接收到一条口令过期的警告。当达到这个规定的天数后,口令过期。保留的口令数:设置一个口令必须被更改多少次之后才能够被重用。如果该参数被设置成unlimited之外的值,则保留天数必须设置成unlimited。保留天数:设置一个口令可以被重用之前的最小天数。如果该参数被设置成unlimited之外的值,则保留的口令数必须设置成unlimited。复杂性函数:设置口令校验函数。会对口令进行校验,以判断口令是否符合最低的复杂程度或者其他校验规则。如果该参数设置为NULL,就可以关闭口令校验功能。锁定前允许的最大失败登录次数:限制一个用户帐户可以被不成功地访问的次数。超过这个次数,该帐户将被锁定。锁定天数:设置一定的天数,此后一个被锁定的口令将自动被解除锁定,只有设置了最大失败登录次数后该参数才有用。指unlimited表示该帐户永远都不会自动解除锁定。第四十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理使用ALTERUSERusernamePROFILEprofilename可将概要文件授予用户。

7.6.2概要文件的激活当概要文件被创建并授予用户后,该概要文件不会全部生效,因为在创建概要文件并授予用户的过程中,当初始化参数中的RESOURCE_LIMIT选项的值为FALSE时,概要文件的一般信息页中的设置没有被应用。只是概要文件中的口令页的设置被应用,只有在初始化参数文件中将RESOURCE_LIMIT选项设置为TRUE,概要文件才能被完全激活并生效。激活的方式有企业管理器方式和命令行方式:1、企业管理器方式:第四十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理图7-20进入管理/数据库配置界面第四十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理图7-19所有初始化参数界面第四十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理2、命令行方式:在SQL*Plus或iSQL*Plus中使用:ALTERSYSTEMSET[更改的参数1=值1]|[更改的参数2=值2]如:

ALTERSYSTEMSETRESOURCE_LIMIT=TRUE

7.6.3查看概要文件命令行方式:概要文件的信息存储在数据字典DBA_PROFILE中,使用DESC命令可以得到概要文件的结构信息:

DESCDBA_PROFILES;第四十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.6.4修改概要文件例:

ALTERPROFILEprofilenameLIMITSESSIONS_PER_USER10;

命令执行后,概要文件的并行会话修改为10。

7.6.5删除概要文件例:

DROPPROFILEprofilename[CASCADE];

其中:

DROPPROFILE命令可以删除概要文件,如果概要文件已经分配给用户,在这个命令中必须指定CASCADE。这样,概要文件删除后,用户的概要文件将自动指定为DEFAULT概要文件。第四十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理练习创建一个用户TEMPUSER,并为其分配相应的系统权限或角色,以便可以在数据库中执行相应的操作。以SYSTEM身份登录数据库。创建用户TEMPUSER,其口令为tempuser,默认表空间为USERS,临时表空间为TEMP,对表空间没有配额限制。第四十七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理创建一个用户配置文件TEMPPROFILE,包含的资源及其口令限制如下:

该用户最多可以建立3个并发的会话连接。用户执行语句(会话

)使用的CPU最长时间为20秒。空闲时间超过15分钟后,断开与用户的连接。限制用户每次调用SQL语句时,能够读取的数据库块数200。限制用户在登录到Oracle数据库时允许失败的次数2。第四十八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理为用户TEMPUSER指定配置文件。向用户TEMPUSER授予连接数据库系统的权限。第四十九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理向用户TEMPUSER授予对对象“scott.emp”的select权限,并以用户TEMPUSER连接到数据库,以查询scott用户的“emp”表。第五十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理撤销向用户TEMPUSER授予的系统权限,向用户授予connect角色。第五十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理删除概要文件tempprofile,使用户tempuser的概要文件为

DEFAULT,并查看用户tempuser下的概要文件。第五十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理7.7DBA用户介绍及数据库登录 中常见的问题

7.7.1默认的DBA用户

Oracle数据库在创建时,默认创建两个具有管理权限的DBA用户:

SYS和SYSTEM。

1、SYS

数据库创建完毕,SYS用户就被创建且同时授予了DBA角色的权限,数据字典的基表和视图创建在SYS用户下,这些基表和视图对数据库的完整性至关重要,所以Oracle只允许自身对基表和视图的数据进行操作。DBA在必要的情况下可以更改其存储参数。

2、SYSTEMSYSTEM用户也是在数据库创建同时被创建且同时授予了DBA角色的权限。一般用于创建一些显示管理信息的表、视图、Oracle工具使用的表等。第五十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.2DBA角色每个数据库一旦创建都将创建DBA角色,该角色包含了除SYSDBA和SYSOPER之外的大部分系统权限。

7.7.3SYSDBA管理权限

SYSDBA管理权限范围内的操作:启动和关闭操作。更改数据库状态为打开/装载/备份,更改字符集。创建数据库。创建服务器参数文件SPFILE。日志归档和恢复。包含了“会话受限”权限。第五十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.4SYSOPER管理权限

SYSOPER管理权限范围内的操作:启动和关闭操作。更改数据库状态为打开/装载/备份。创建服务器参数文件SPFILE。日志归档和恢复。包含了“会话受限”权限。

注意:当以SYSDBA或SYSOPER权限连接时,并不是和使用的用户名对应的方案,而是Oracle默认的方案式。以SYSDBA权限登录时是SYS方案(用户),以SYSOPER登录时其方案是PUBLIC。第五十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.5DBA用户的权限

DBA用户权限分为两部分:系统权限和对象权限,分别对应不同级别的操作。系统权限是指对Oracle数据库服务器可以执行的操作,而对象权限是指对Oracle数据库的方案对象可以执行的操作,如select、update等。对于一个数据库用户来讲,其具备的系统权限和对象权限是两个完全不同的概念,不是具备SYSDBA系统权限的用户就一定能够访问所有方案的数据,还要看授予其具体的对象权限。

7.7.6DBA用户的身份验证机制第五十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理OracleDBA用户的身份验证机制如图所示:远程客户机管理本地客户机管理是安全的连接吗使用操作系统鉴别吗口令文件鉴别操作系统鉴别是是否否注意:上述机制仅对以SYSDBA或SYSOPER管理权限登录的DBA用户适用,普通用户的验证是通过数据库中存储的用户名和密码来验证的。第五十七页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理远程DBA用户的身份验证机制远程DBA用户的身份验证机制是首先根据是否安全连接来决定的。采用普通的TCP协议构建的Oracle网络是非安全的,而使用TCPS协议构建的网络是安全的。安全的远程DBA用户连接还要根据选择的验证方式来决定是使用操作系统验证还是口令文件验证。非安全的远程DBA用户的连接是由数据库服务器上的口令文件来验证的。本地DBA用户的身份验证机制本地DBA用户的身份验证根据需要可以选择操作系统验证或口令文件验证。注意:无论是操作系统验证还是口令文件验证,对DBA用户采取的都是Oracle数据库之外的验证方式。这是因为:如果采用数据库本身来存储口令和进行验证,那么,当数据库关闭时,DBA用户将无法执行任何操作。而采用外部验证的方法,DBA用户即使在数据库关闭时也能执行一些特殊的操作。第五十八页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.7ORA_DBA和ORA_OPER组

Oracle10gforWindows版本和Windows操作系统紧密集成,可以采用操作系统来验证

DBA用户的身份。在采用Windows操作系统验证DBA用户的身份时,可以在操作系统中创建两个特殊的用户组:ORA_DBA和ORA_OPER。其中,Oracle在安装时默认创建了ORA_DBA的用户组,Windows操作系统的管理员Administrator已经默认被加入到ORA_DBA组中,这样在采用操作系统身份验证方式时,Administrator用户已经具备了SYSDBA系统权限。在ORA_DBA组中的用户被默认授予可以以SYSDBA权限登录数据库。在ORA_OPER组中的用户被默认授予可以以SYSOPER权限登录数据 库。第五十九页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理选择【开始】/【程序】/【管理工具】/【计算机管理】/【本地用户和组】选项,可以看到如图所示的界面,其中包含了ORA_DBA组。而ORA_OPER为后来自建的组。第六十页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.8如何设置使用操作系统验证是否使用操作系统进行验证,不是在初始化参数文件中设置的,而是由一个特殊的文件sqlnet.ora来决定的。

Sqlnet.ora文件是一个配置Oracle10gNetServices的参数文件,路径通常为$ORACLE_HOME\Network\admin,用文本工具打开该文件,其默认的内容如下:第六十一页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理图中,SQLNET.AUTHENTICATION_SERVICES参数就是设置是否允许操作系统验证。参数值NTS表示使用Windows操作系统验证。如果不使用操作系统验证,可以将该行进行注释或者取消即可。“#”表示注释该行。

#SQLNET.AUTHENTICATION_SERVICES=(NTS)或改为SQLNET.AUTHENTICATION_SERVICES=(NONE)注意:该行的设置并不是仅仅对DBA用户适用,对所有的分布式环境中的oracle用户都是适用的。使用操作系统验证的具体步骤:以Windows操作系统的管理员帐户Administrator登录。在操作系统的计算机管理帐户中创建一个帐户,给其一定的操作系统权限或相当于administrator管理员权限,并将其添加到ORA_DBA组中,如图所示:修改sqlnet.ora文件内容

SQLNET.AUTHENTICATION_SERVICES=(NTS)。第六十二页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理第六十三页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理

7.7.8如何设置使用口令文件验证

Oracle数据库的初始化参数文件中有一个特殊的参数是用来决定是否使用口令文件的:REMOTE_LOGIN_PASSWORDFILE。1、以独立登录方式启动客户端企业管理器,以SYSDBA身份登录后的界面如图所示:2、单击1、选择第六十四页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理在【管理目标导航树】下选择【网络】/【数据库】/【suer】/【例程】/【配置】选项,在出现的【一般信息】选项卡中可以看到Oracle10g数据库使用SPFILE(服务器参数文件)启动,单击【所有初始化参数】按钮。2、出现如图所示的【所有参数】选项卡。默认情况下,【正在运行】单选钮被选择,可以查看正在运行的Oracle数据库的参数。其中REMOTE_LOGIN_PASSWORDFILE参数的默认值为EXCLUSIVE,表示允许使用口令文件进行验证。第六十五页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理第六十六页,共七十四页,2022年,8月28日资源与环境科学学院用户与权限的管理3、切换到【所有参数】/【SPFILE】选项卡。

查看SPFILE文件中的REMOTE_LOGIN_PASSWORDFILE参数的值。这里可以进行更改。其参数的3种取值的含义为:

NONE:不使用口令文件

EXCLUSIVE:口令文件验证,每个数据库单独使用自己的口令文件,具有SYSDBA或SYSOPER权限的用户都采用口令文件验证。

SHARED:口令文件验证,多个数据库可以公用一个口令文件,但口令文件中只能加入SYS用户,只有SYS用户可以被验证。问题:REMOTE_LOGIN_PASSWORDFILE参数从字面上翻译过来应该是远程登录口令文件,该参数是否对本地DBA用户适用呢?回答是

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论