- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北京邮电大软件工程研究生的课程---4数据库设计开发-4.3
郭文明 2003.06.05 《电信资源管理系统》立项可行性说明 郭文明 2003.06.05 4.3 ORACLE数据库存取管理 数据库管理员的任务是使所有运行Oracle数据库的系统能够有效的工作。数据库管理员为每一个用户提供技术支持,并且应当对Oracle软件中出现的所有问题都相当熟悉。除上一节介绍的ORACLE实例设置外,ORACLE数据库的存储对数据库的性能也有很大影响,另外ORACLE的安全性、备份与恢复机制也在本节中介绍。 4.3.1 管理ORACLE存储 4.3.2 ORACLE安全管理 4.3.3 ORACLE备份与恢复 4.3.1 管理ORACLE存储 在2.1的数据库数据存储介绍中,我们已经知道ORACLE的数据存取是面向数据块(页)的;在4.1中,我们知道ORACLE数据库的存储体系是表空间、段、区间、块,下面将集中讨论ORACLE存储对性能的影响。 4.3.1.1管理数据库对象 4.3.1.2理解数据库碎片 4.3.1.3管理回滚段 4.3.1.4鉴别存储问题 4.3.1.1 管理ORACLE数据库对象 管理Oracle块 Oracle服务器寻址的最小存储单元是Oracle块。无论段是一个表、索引、簇或者其他对象,块结构是相同的。设计一个性能最优的数据库要从对Oracle块适当的配置和管理开始。 Oracle块是由三部分组成的:块头、数据存储区、自由空间区。块头包含有关块的信息(什么类型的段数据存储在块中,什么段在块中有数据,块地址以及指向存储在其中的实际行的指针)。块头由一个固定部分和一个可变部分组成,在块中块头通常使用85到100字节。 在Oracle块中,主要关注管理数据存储区域和自由空间区域。数据区域是块中实际存储行的地方。自由空间区是一个保留的区域,被定义为总的可用空间的百分数,用于存储有关在块中的行将来更新的信息。 4.3.1.1 管理ORACLE数据库对象 理解PCTFREE与PCTUSED PCTFREE和PCTUSED是应用于段的两个存储参数,当Oracle向数据库中写信息时,它必须首先在一个段的分配区中找到一个或更多块来存储信息。 如果在块中自由空间的百分数比PCTFREE参数大得多,它就可以用来存储新信息。当自由空间的百分数低于PCTFREE时,块就被认为是“满的”。 当块中使用空间的百分数低于PCTUSED时,它就可以被用来存储新信息。 4.3.1.1 管理ORACLE数据库对象 理解PCTFREE与PCTUSED 使Oracle保持足够的额外空间用于行增长(修改结构),而不需要跨块存储。保持行被限制在一个单独的块中有助于使数据库以最高性能运行。 PCTFREE和PCTUSED的值不能等于100%。由数据库引擎处理引起的系统开销可以通过在PCTFREE和PCTUSED之间留至少20%的裕量而得到解决。缺省PCTFREE为10,PCTUSED为40。 PCTFREE和PCTUSED在数据库段的存储子句中被指定。可以用dba_tables、dba_clusters或者dba_indexes数据字典视图查询它们目前的值。 4.3.1.1 管理ORACLE数据库对象 索引与PCTUSED/PCTFREE 索引使用PCTFREE和PCTUSED与表相比不同。只有当一个索引最初建立时这些参数适用。PCTFREE的设置应让索引结构最初在叶块中建立时就有足够的空间,这样就可以增加辅助关键字,而不必拆分已存在的叶块提供给新关键字。索引不必设置PCTUSED。 当为一个已存在的表建立新索引时,如果预料到表中的数据较稳定,修改不多时,可选择较小的PCTFREE,反之则应选择较大的值。 4.3.1.1 管理ORACLE数据库对象 管理表存储区 创建表时,系统自动在表空间中分配一个区间,构成数据段。表的空间需求是平均行长与行数的乘积。确定表的容量应该在表建立之前的设计阶段完成。预期的增长和存储参数值等问题应该在建表时处理。ORACLE用如下方式来为未来的数据预留空间(参看2.1内容): 1)为表的数据段设置存储参数,控制每次分配的区间大小。 2)用存储参数PCTFREE和PCTUSED控制构成数据段的区间中各个块的空间利用率。 4.3.1.1 管理ORACLE数据库对象 管理索引 当查询语句中的WHERE子句表达式含有被索引的关键字时,ORACLE将自动启动索引。 许多应用程序员(以及DBA)通过申请更多索引的办法解决数据库的性能问题。但更多的索引不仅会影响修改性能,而且在一个查询中并不是子句中涉及
文档评论(0)