- 1、本文档共71页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章 管理安全性 本章概述 数据库的安全性是非常重要的。不仅数据库应该是安全的,整个计算机系统都应该是安全的。例如,有一个金融公司开发了一个用于存储雇员信息和客户信息的数据库系统,且这种数据库系统是对所有公众开放的,这种系统是会受到许多人“欢迎”的,但是这种系统能受到公司雇员欢迎吗?能受到公司客户欢迎吗?显然不会。因为没有安全性的数据库后果是不可想象的。 本章将全面介绍Oracle安全性管理方面的知识。 本章要点 掌握数据库安全的基本概念 管理用户帐户 理解和掌握用户和模式 理解系统权限的特点和使用 掌握对象权限的特点和使用 理解基于角色的安全特点 掌握PL/SQL和角色 了解概要文件(profile) 教学过程 8.1 概述 8.2 用户 8.3 系统权限 8.4 对象权限 8.5 数据库角色 8.6 PL/SQL和数据库角色 8.1 概述 在Oracle数据库应用中,我们应该真正地理解如何实现安全性,真正地阻止非授权用户访问数据库中的信息。 在Oracle数据库中,涉及安全方面的内容包括:用户和模式、系统权限、对象权限、数据库角色、访问粒度控制等。 Oracle标识符的特点 无论是用户帐户,还是其他的数据库对象,都需要一个合适的名称。 如何命名一个数据库对象,并没有一个统一的规则。但是,命名一个数据库对象,至少应该使用描述性名称,使用户看到该对象的名称基本上就能知道该对象的作用。 如果希望某个名称成为合法的Oracle标识符,那么它必须遵循如下规则: 不能是保留字; 它必须使用1~30个字符; 必须以数据库字符集中的字母字符开头; 只能包含数据库字符集中的字母字符,以及字符:#、$、_等; 不能包含单引号或双引号。 也可以使用双引号包围名称,双引号内可以使用任何名称。 8.2 用户 为了使用Oracle,用户需要为自己的数据建立自己的用户帐户。这是一项重要的基础工作。 在实际应用中,用户应该避免使用sys、system、scott等帐户。 下面介绍如何建立用户、改变用户和删除用户的操作。 用户和模式 在Oracle中,数据库用户和模式是安全的最基本的单元。许多人经常互换地使用术语“用户”和“模式”,但是他们之间是有区别的。数据库模式定义为数据库对象的集合,而模式的名称就是拥有或控制这些数据库对象集合的用户名称。所有的数据库对象,包括表、视图、索引、触发器、Java存储过程、PL/SQL程序包、函数等,都归Oracle数据库中的一个用户所有。甚至Oracle的数据字典、系统目录也是名称为sys的模式的一部分。 在Oracle数据库中,可以存在没有拥有任何数据库对象的用户(不是模式),但是不会没有命名的模式或数据库对象集合。 用户(user) 定义在数据库中的一个名称,是oracle数据库的基本访问控制机制 特权用户 具有特殊权限(sysdba或sysoper)的数据库用户,主要执行数据库维护操作 方案(schema) 用户所拥有的数据库对象的集合。 在oracle数据库,对象是以用户来组织的,用户和模式一一对应,并且两者名称相同。 建立用户 改变用户 作为一个DBA,在管理数据库时,用户可能会有各种原因来改变用户帐户。 这些有关帐户管理的工作如下: 重置密码; 锁定帐户和解除帐户锁定; 修改用户的默认表空间或临时表空间; 修改表空间配额。 重置密码 锁定帐户及解除帐户锁定 锁定帐户和解除帐户锁定的基本语法格式如下: alter user username account [lock | unlock] 修改表空间 Oracle Database 10g有一个与以前版本不同的特点,在默认情况下,一些以前存储在system表空间中的内容存储到了sysaux表空间中。 在实际应用中,可能需要改变默认的表空间。 修改表空间配额 如果新创建了一个用户dropme,并且为该用户帐户赋予了连接数据库、创建表的权限,但是没有为其赋予sysaux表空间中占用空间的权限。然后,以dropme帐户身份连接数据库,如果这时执行创建表的操作,则会出现如图8-8所示的ORA-01950号错误消息。 为了允许dropme帐户可以创建表,可以使用alter user命令为该帐户赋予sysaux表空间中的配额。然后,重新以dropme身份连接数据库,并且执行创建表的操作。这时可以看到,dropme帐户具备了创建表的能力。 删除用户 如果不再需要某个用户帐户了,可以将其删除。可以使用drop user命令删除用户帐户。 这里需要注意cascade关键字。如果将该关键字用于drop user命令的末尾,则在从数据库中删除用户之前,删除用户的所有对象。该关键字不仅可以删除所有
文档评论(0)