第28章 IO以及系统优化.ppt

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第28章 IO以及系统优化

I/O优化 计算机的输入输出即I/O是很耗时的系统行为,I/O优化就是通过一定的措施减少I/O消耗的时间,从本质上讲优化I/O的方法无非两种,一是最大化地减少I/O操作从而减少操作的数据量,二是平衡I/O,如平衡数据库中各种文件的磁盘分布,它也同时减少了对统一磁盘文件的操作,减少了I/O量。本章讲述的I/O优化就是基于以上两点,只是针对不同粒度的数据库组件优化的具体方法不同。 I/O优化 在处理I/O优化问题之前,我们首先需要确认优化的对象是什么,那么如何确认这个对象呢?答案是使用数据字典视图,所以在面临Oracle的I/O相关的性能问题时,应该使用视图v$system_event,v$session_event,v$session_wait视图来总和事件信息、会话信息以及等待事件相关的信息提供有关和I/O相关的性能瓶颈。这里再次强调读者在实施Oracle数据库优化时,应该对常用的等待事件比较熟悉,这样对于等待事件就可以初步判断导致等待的原因,采取迭代的方式实现优化。 读者应注意一个问题,就是磁盘I/O的竞争是不可避免的,问题是这些磁盘I/O争用发生的频率,以及对于系统运行造成的影响,只有严重的影响数据库系统性能的I/O竞争才采取I/O优化措施。下面介绍不同的数据库组件的优化原则或具体方法。 I/O优化 表空间I/O优化 在安装Oracle数据库时,所有表空间的数据文件都存放在相同的目录下,显然也都位于同一个物理磁盘上。显然这样的设置是不合理的,需要从I/O的角度进行优化,如将不同的表空间数据文件分布到不同的磁盘等。 Oracle数据库在逻辑上划分成多个表空间,而表空间中包含物理的数据文件,这些文件是Oracle格式的操作系统文件,通过设计不同的表空间从而存放和管理不同的数据库文件。 下面分类介绍这些表空间、表空间作用以及相关的优化问题 I/O优化 表空间I/O优化 系统表空间 系统表空间主要用于存放数据库字典信息,但是在默认情况下用户数据也存储在系统表空间中,如果将用户数据和数据字典存放在相同的表空间显然存在磁盘I/O竞争,所以系统表空间中只存放和管理数据字典信息,对于用户数据可以创建用户表空间来单独存储。 I/O优化 表空间I/O优化 还原表空间 还原表空间主要用户回滚用户更改的数据,如对于用户删除一个大表时(DROP),此时会产生大量的还原数据,对还原表空间造成一定得维护压力,而且对于OLTP系统,用户会频繁的更改表数据,所以还原表空间会不断的填充数据和释放磁盘空间,这样就比较容易产生磁盘碎片,所以还原表空间应该只用于还原数据,而不要用作其他用途。 I/O优化 表空间I/O优化 临时表空间 临时表空间完成数据的磁盘排序行为,显然排序行为是数据库操作中比较频繁的一个数据库行为,这样就容易造成临时段的频繁的分配和释放,也容易造成磁盘碎片,所以临时表空间不能存放永久数据,也不要存放如索引等其他数据库对象。 I/O优化 表空间I/O优化 用户表空间 实际的数据库系统肯定需要存储用户数据,主要是表数据,而表数据是应用程序或用户频繁操作的数据,所以需要单独建立一个表空间,关键是表空间中的数据文件要存储在单独的磁盘上,如果系统硬件资源不足,可以存储在I/O操作不频繁的磁盘上以减少I/O竞争产生的I/O等待。除了用户表空间,对于大型的表还需要建立索引,而索引和用户表最好放在不同的磁盘驱动器上,显然使用表的索引与搜索表数据同样存在竞争,所以最好创建索引表空间。即用户表空间我们分为用户数据表空间和用户索引表空间,将二者的数据文件存储在不同的磁盘上,可以有效地减少磁盘I/O从而优化I/O行为。 I/O优化 表空间I/O优化 大对象表空间 大对象表空间是拥有大的数据库对象的表空间,该表空间的尺寸根据数据库块尺寸的不同分布范围为8Tb~128Tb。Oracle数据库在处理数据时都需要将表数据从数据文件所在磁盘读取到数据库高速缓冲区中,这个过程是机械行为,所以相对于内存行为要消耗更多的时间,所以对于大对象表空间尤其需要考虑I/O优化,对于大对象表空间应该使用更大的块尺寸,使得每次读取数据时可以获得比小的块尺寸更多的数据,减少了磁盘I/O。 I/O优化 数据文件I/O优化 数据文件优化:存放用户实际使用的表数据或索引等数据库对象,尤其对于大型的数据库系统必须创建单独的用户表空间而不能使用默认的系统表空间,并且用户表空间的数据文件应分布在和系统表空间不同的磁盘上,在用户表空间中可以创建多个数据文件,并将这些数据文件存放在不同的磁盘上以平衡磁盘I/O行为。 控制文件优化:控制文件是Oracle数据库中非常重要的数据库文件,在数据库启动时告诉数据库它的数据文件,重做日志文件等的目录位置和用于数据库实例恢复的信息,出于系统

文档评论(0)

wyjy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档