当前位置: 首页 > 图文教程 > 数据库 > Oracle > Oracle中存取控制介绍

Oracle
Oracle数据库技术(32)
Oracle数据库技术(33)
Oracle数据库技术(34)
Oracle数据库技术(35)
Oracle数据库技术(36)
Oracle数据安全面面观
Oracle数据操作和控制语言详解
Oracle数据库数据对象分析
解析Oracle 8i/9i的计划稳定性
使用Oracle实现实时通信
Oracle数据库中索引的维护
Oracle数据库游标使用大全
Oracle9i中监视索引的使用
在Oracle9i中使用多种Block Size
监控Oracle数据库的常用shell脚本
Performance Improvement Tips for Oracle on UNIX
Raw Partitions and Windows NT
How to use OS commands to diagnose Database Performance issues?
Raw Devices and Oracle - 20 Common Questions and Answers
Monitor Oracle Resource Consumption in UNIX

Oracle中存取控制介绍


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 204 ::
收藏到网摘: n/a

Oracle使用多种不同的机制管理数据库安全性,其中有两种机制:模式和用户。模式为模式对象的集合,模式对象如表、视图、过程和包等。第一数据库有一组模式。
  每一Oracle数据库有一组合法的用户,可存取一数据库,可运行一数据库应用和使用该用户各连接到定义该用户的数据库。当建立一数据库用户时,对该用户建立一个相应的模式,模式名与用户名相同。一旦用户连接一数据库,该用户就可存取相应模式中的全部对象,一个用户仅与同名的模式相联系,所以用户和模式是类似的。

  用户的存取权利受用户安全域的设置所控制,在建立一个数据库的新用户或更改一已有用户时,安全管理员对用户安全域有下列决策:

  是由数据库系统还是由操作系统维护用户授权信息。

  设置用户的缺省表空间和临时表空间。

  列出用户可存的表空间和在表空间中可使用空间份额。

  设置用户资源限制的环境文件,该限制规定了用户可用的系统资源的总量。

  规定用户具有的特权和角色,可存取相应的对象。

  每一个用户有一个安全域,它是一组特性,可决定下列内容:

  用户可用的特权和角色;

  用户可用的表空间的份额;

  用户的系统资源限制。

  (1)用户鉴别:

  为了防止非授权的数据库用户的使用,ORACLE提供二种确认方法

  操作系统确认和相应的ORACLE数据库确认。

  如果操作系统允许,ORACLE可使用操作系统所维护的信息来鉴定用户。由操作系统鉴定用户的优点是:

  用户可更方便地连接到ORACLE,不需要指定用户名和口令。

  对用户授权的控制集中在操作系统,ORACLE不需要存储和管理用户口令。然而用户名在数据库中仍然要维护。

  在数据库中的用户名项和操作系统

审计跟踪相对应。

  Oracle数据库方式的用户确认:Oracle利用存储在数据库中的信息可鉴定试图接到数据库的一用户,这种鉴别方法仅当操作系统不能用于数据库用户鉴别时才使用。当用户使用一Oracle数据库时执行用户鉴别。每个用户在建立时有一个口令,用户口令在建立对数据库连接时使用,以防止对数据库非授权的使用。用户的口令以密码的格式存储在数据库数据字典中,用户可随时修改其口令。

  (2)用户的表空间设置和定额

  关于表空间的使用有几种设置选择:

  用户的缺省表空间;

  用户的临时表空间;

  数据库表空间的空间使用定额。

  (3)用户资源限制和环境文件

  用户可用的各种系统资源总量的限制是用户安全域的部分。利用显式地设置资源限制; 安全管理员可防止用户无控制地消耗宝贵的系统资源。资源限制是由环境文件管理。一个环境文件是命名的一组赋给用户的资源限制。另外Oracle为安全管理员在数据库级提供使能或使不能实施环境文件资源限制的选择。

  Oracle可限制几种类型的系统资源的使用,每种资源可在会话级、调用级或两者上控制。在会话级:每一次用户连接到一数据库,建立一会话。每一个会话在执行SQL语句的计算机上耗费CPU时间和内存量进行限制。对Oracle的几种资源限制可在会话级上设置。如果会话级资源限制被超过,当前语句被中止(回滚),并返回指明会话限制已达到的信息。此时,当前事务中所有之前执行的语句不受影响,此时仅可作COMMIT、ROLLBACK或删除对数据库的连接等操作,进行其它操作都将出错。

  在调用级:在SQL语句执行时,处理该语句有好几步,为了防止过多地调用系统,ORACLE在调用级可设置几种资源限制。如果调用级的资源限制被超过,语句处理被停止,该 语句被回滚,并返回一错误。然而当前事务的已执行所用语句不受影响,用户会话继续连接。

  有下列资源限制:

  为了防止无控制地使用CPU时间,ORACLE可限制每次ORACLE调用的CPU时间和在一次会话期间ORACLE调用所使用的CPU的时间,以0.01秒为单位。

  为了防止过多的I/O,Oracle可限制每次调用和每次会话的逻辑数据块读的数目。

  Oracle在会话级还提供其它几种资源限制。

  每个用户的并行会话数的限制;

  会话空闲时间的限制,如果一次会话的ORACLE调用之间时间达到该空闲时间,当前事务被回滚,会话被中止,会话资源返回给系统;

  每次会话可消逝时间的限制,如果一次会话期间超过可消逝时间的限制,当前事务被回滚,会话被删除,该会话的资源被释放;

  每次会话的专用SGA空间量的限制。

  用户环境文件:

  用户环境文件是指定资源限制的命名集,可赋给ORACLE数据库的有效的用户。利用用户环境文件可容易地管理资源限制。要使用用户环境文件,首先应将数据库中的用户分类,决定在数据库中全部用户类型需要多少种用户环境文件。在建立环境文件之前,要决定每一种资源限制的值。例如一类用户通常不执行大量逻辑数据块读,那就可将LOGICAL-READS-PER-SESSION和 LOGICAL-READS-PER-CALL设置相应的值。在许多情况中决定一用户的环境文件的合适资源限制的最好的方法是收集每种资源使用的历史信息。如果有什么不懂的地方欢迎到孙鑫老师论坛里发帖提问!