Oracle数据库应用教程(朱亚兴) 第9章

上传人:E**** 文档编号:89374529 上传时间:2019-05-24 格式:PPT 页数:138 大小:3.22MB
返回 下载 相关 举报
Oracle数据库应用教程(朱亚兴) 第9章_第1页
第1页 / 共138页
Oracle数据库应用教程(朱亚兴) 第9章_第2页
第2页 / 共138页
Oracle数据库应用教程(朱亚兴) 第9章_第3页
第3页 / 共138页
Oracle数据库应用教程(朱亚兴) 第9章_第4页
第4页 / 共138页
Oracle数据库应用教程(朱亚兴) 第9章_第5页
第5页 / 共138页
点击查看更多>>
资源描述

《Oracle数据库应用教程(朱亚兴) 第9章》由会员分享,可在线阅读,更多相关《Oracle数据库应用教程(朱亚兴) 第9章(138页珍藏版)》请在金锄头文库上搜索。

1、第9章 管理用户和安全性,9.1 用户管理 9.2 权限管理 9.3 角色管理 9.4 概要文件 9.5 小结 习题九 上机实验九,9.1 用 户 管 理 9.1.1 用户类别 在数据库系统中,根据工作性质和特点,用户可分成三类:数据库管理员(DBA)、数据库开发人员和普通用户。不同类型的用户分别赋予不同的权限,从而保证数据库系统的 安全。,1数据库管理员(DBA) 数据库管理员负责管理和维护数据库系统的正常运行,其主要职责包括: (1) 安装并升级Oracle服务器和应用工具。 (2) 配置和管理数据库。 (3) 设置权限和安全管理。 (4) 监控并优化数据库性能。 (5) 备份和恢复数据库

2、。,2数据库开发人员 数据库开发人员负责设计和开发数据库应用程序,其主要职责包括: (1) 设计应用的数据结构。 (2) 估算应用的存储需求。 (3) 给出应用数据库结构修改的说明。 (4) 开发过程中优化应用。 (5) 开发过程中构建应用的安全策略。 以上工作需要和DBA协作。 3普通用户 普通用户指的是执行与数据库相关的日常操作的工作人员。,9.1.2 创建用户 在建立一个数据库的新用户时,数据库管理员对用户有下列决策: (1) 设置用户的默认表空间和临时表空间,在表空间中可以使用空间份额。 (2) 设置用户资源限制的环境文件,该限制规定了用户可用的系统资源的总量。 (3) 规定用户具有的

3、权限和角色,可以存取相应的对象。 创建用户的步骤如下: (1) 确定该用户的表空间和表空间的大小。 (2) 分配默认表空间和临时表空间。 (3) 创建用户。 (4) 授予权限或角色。,1利用OEM创建用户 下面讲述在“企业管理器”中如何创建新用户。 (1) 启动“企业管理器”,在安全性管理中选择“用户”选项,如图 9-1 所示,点击右键,选择“创建”,出现如图 9-2 所示的“创建用户”的“一般信息”选项卡。在“一般信息”中填写用户的口令,指定用户的默认表空间和临时表空间,还可以指定用户所对应的概要文件。概要文件将在9.4节中介绍。,(2) 选择“角色”选项卡,如图 9-3 所示。“角色”选项

4、卡用于为用户授予角色,同时使用户具有角色权限。依次选择“系统权限”、“对象权限”选项卡,出现如图9-4所示的“创建用户”的“系统权限”选项卡和如图 9-5 所示的“创建用户”的“对象权限”选项卡。“系统权限”选项卡用于为用户授予系统级权限。“对象权限”选项卡用于为用户授予对象级权限,当一个用户是某数据库对象的属主时,它就具有操纵该数据库对象的所有权限,但其他用户必须经过授权才能操纵该数据库对象。,图 9-1 选择创建用户,图 9-2 “创建用户”的“一般信息”选项卡,图9-3 “创建用户”的“角色”选项卡,图 9-4 “创建用户”的“系统权限”选项卡,图 9-5 “创建用户”的“对象权限”选项

5、卡,(3) 分别选择“使用者组”和“限额”选项卡,依次出现如图 9-6 所示的“创建用户”的“使用者组”选项卡和如图9-7所示的“创建用户”的“限额”选项卡。“使用者组”选项卡用于为用户定义资源使用者组。“限额”选项卡用于指定用户在对应的表空间中是否分配空间,以及用户在其中可分配的最大空间数量。图9-8所示为“创建用户”的“代理用户”选项卡。“代理用户”选项卡用于指定可以代理此用户行使权利的用户和用户可以代理的其他用户。成功创建用户后将出现如图 9-9 所示的界面。,图 9-6 “创建用户”的“使用者组”选项卡,图 9-7 “创建用户”的“限额”选项卡,图9-8 “创建用户”的“代理用户”选项

6、卡,图9-9 成功创建用户的界面,2使用SQL语句创建用户 使用CREATE USER语句可以创建一个新的数据库用户,执行该语句的用户必须具有CREATE USER系统权限。在创建用户时,必须指定用户的认证方式。通常Oracle采用两种认证方式:数据库认证方式和操作系统身份认证。在一般的应用中,通常采用数据库认证方式,即通过Oracle数据库对用户身份进行验证。在这种情况下创建用户时必须为新用户指定一个口令,口令以加密方式保存在数据库中。当用户连接数据库时,Oracle从数据库中提取口令来对用户的身份进行验证。创建用户时还应为用户分配默认表空间和临时表空间以及用户可使用表空间的限额。,语法格式

7、: CREATE USER 用户名 INDENTIFIED BY 口令 DEFAULT TABLESPACE 表空间名 TEMPORARY TABLESPACE 表空间名 QUOTA 正整数K|M|UNLIMITED ON表空间名 PASSWORD EXPIRE ACCOUNT LOCK|UNLOCK PROFILE 环境文件名|DEFAULT;,说明:使用INDENTIFIED BY子句为用户设置口令,这时用户将通过数据库来进行身份认证。使用DEFAULT TABLESPACE子句为用户指定默认表空间。如果没有指定默认表空间,则Oracle会把SYSTEM表空间作为用户的默认表空间。为用户指

8、定了默认表空间之后,还必须使用QUOTA子句为用户在默认表空间中分配空间配额。,此外,常用的一些子句如下: (1) TEMPORARY TABLESPACE子句:为用户指定临时表空间。一般地,SQL语句在完成如连接和排序等大量数据的查询时需要临时工作空间来存放结果。 (2) PROFILE子句:为用户指定一个概要文件。如果没有为用户显式地指定概要文件,则Oracle将自动为用户指定DEFAULT概要文件。 (3) DEFAULT ROLE子句:为用户指定默认的角色。 (4) PASSWORD EXPIRE子句:设置用户口令的初始状态为过期。 (5) ACCOUNT LOCK子句:设置用户帐户的

9、初始状态为锁定,缺省为ACCOUNT UNLOCK。,【例9.1】 创建用户teacher,口令为teacher123,默认表空间是user,大小是20MB,临时表空间是temp。 SQL connect system/manager; 已连接。 SQL CREATE USER teacher 2 IDENTIFIED BY teacher123 3 DEFAULT TABLESPACE users 4 TEMPORARY TABLESPACE temp 5 QUOTA 20MB ON users;,用户已创建。 新用户在建立之后还不能使用,通常会需要使用GRANT语句为他授予CREATE S

10、ESSION系统权限。CREATE SESSION系统权限允许用户在数据库上建立会话过程,这是用户帐号必须具有的最低权限。,【例9.2】 授予权限CREATE SESSION给用户teacher。 SQL GRANT CREATE SESSION TO teacher ; 授权成功。 SQL CONNECT teacher / teacher123; 已连接。,9.1.3 修改用户 在创建用户之后,会因为各种需要改变用户的帐户、表空间和权限等。 1利用OEM修改用户 如图9-10所示,可以利用OEM管理工具在相应的用户上点击右键,出现“查看/编辑详细资料”,对其不同内容选择不同的选项,更改后确

11、认便可。,图 9-10 选择修改用户,2利用SQL命令修改用户 可以使用ALTER USER语句对用户进行修改,执行该语句的用户必须具有ALTER USER系统权限。 【例9.3】 修改用户teacher 的认证方式、默认表空间和空间配额。 SQL ALTER USER teacher IDENTIFIED BY teacher123 QUOTA 10M ON users; 用户已更改。 【例9.4】 更改用户teacher的默认表空间。 SQL ALTER USER teacher 2 DEFAULT TABLESPACE users 3 Temporary TABLESPACE temp

12、; 用户已更改。,【例9.5】 修改用户teacher的口令。 SQL ALTER USER teacher 2 Identified by teacher; 用户已更改。,【例9.6】 修改用户的状态,锁定teacher帐户并解除锁定。 SQL ALTER USER teacher ACCOUNT LOCK; 用户已更改。 SQL connect teacher/teacher ERROR: ORA-28000: the account is locked 警告: 您不再连接到 Oracle。 SQL ALTER USER Teacher ACCOUNT UNLOCK; 用户已更改。 SQL

13、 connect teacher/teacher 已连接。,9.1.4 删除用户 【例9.7】 删除用户teacher,并且同时删除他所拥有的所有表、索引等模式对象。 SQL DROP USER teacher CASCADE; 用户已丢弃。 同样地,可以利用OEM管理工具选择相应的用户,点击右键进行删除。,9.1.5 查看用户信息 为了方便查询用户的有关信息,Oracle提供了以下数据字典视图: DBA_USERS:描述数据库中所有用户信息。 ALL_USRES:描述可以被当前用户看见的用户信息。 USER_USERS:描述当前用户信息。 DBA_TS_QUOTAS:描述用户的表空间信息。

14、DBA_TS_QUOTAS,USER_PASSWORD_LIMITS:描述分配给该用户的口令、配置文件和参数信息。 USER_RESOURCE_LIMITS:描述当前用户的资源信息。,【例9.8】 查看用户teacher 的用户名、用户标识、锁定日期、帐号状态和默认表空间信息。,注意:查询数据字典的内容时要注意大写匹配。如Where username=TEACHER。如果写为Where username=teacher,则系统显示无匹配数据。,9.2 权 限 管 理 9.2.1 系统权限 Oracle 9i有100多种不同的系统权限,每一种系统权限允许用户执行一种特殊的数据库操作或一类数据库操

15、作。Oracle有两大类主要的系统级权限:名字中带有ANY关键字的权限和不带ANY的权限。带有ANY的权限可以使Oracle用户在任何Oracle帐号中执行指定的命令。不带ANY的权限则只能够在自己的Oracle帐号中执行指定的命令。常见的系统权限如表9-1所示。,表9-1 常见的系统权限,1授予系统权限 在OEM管理工具中授予系统权限参见图9-4,这里重点讲述利用SQL命令授予系统权限。在GRANT关键字之后指定系统权限的名称,然后在TO关键字之后指定接受权限的用户。 【例9.9】 利用下面的语句可以将创建表和创建存储过程的权限授予用户TEACHER。 SQL GRANT CREATE TA

16、BLE, CREATE PROCEDURE TO TEACHER; 授权成功。 上面的代码运行后,Oracle用户TEACHER就可以使用CREATE TABLE、CREATE PROCEDURE命令创建表或存储过程。,如果在GRANT语句最后加上WITH ADMIN OPTION子句,那么不仅可将某种系统权限授予某个Oracle用户,而且这个用户还可以再将这种系统权限授予其他用户,如下面的语句: SQL GRANT CREATE TABLE, CREATE PROCEDURE TO teacher WITH ADMIN OPTION; 授权成功。 上述代码表示TEACHER不仅具有CREATE T

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号