Oracle性能调优原理及具体手段.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Oracle性能调优原理及具体手段.doc

Oracle性能调优原理 及具体手段 海量Oracle资料下载,请收藏 数据库的作用就是实现对数据的管理和查询。任何一个数据库系统,必然存在对数据的大量读或者写或者两种操作都大量存在。I/O 问题也往往是导致数据库性能问题的重要原因。在这篇文章中,主要帮助大家在理解 Oracle 的读写操作机制的基础上,灵活解决遇到的各种常见的 I/O 问题。 1. Oracle 结构 (图 1)Oracle 结构 第 - 2 - 页,共 - 54 - 页 海量oracle资料下载,1.1. Orac le 实 例( Instance) 一个 Orac le 实例: A.是访问 Oracle database 的途径 B.只能打开一个数据库 (图 1.1)Oracle 实例 C.由 SGA 内存区和一组后台进程组成 1.2. 数 据库 文件 (图 1.2)数据库文件 第 - 3 - 页,共 - 54 - 页 海量oracle资料下载, Orac le ,日志文件和控制文件。 ? 数据文件包含数据库的实际数据,数据存于用户定义的表中,此外数据字典数据、回滚数据、索引等 均存于数据文件中。 ? 日志文件记录对数据库的所有修改,用于数据库的恢复。 ? 控制文件记录日志文件和数据文件的信息,用于保证数据库文件的一致性和完整性。 归档日志文件是在线日志的拷贝,在归档模式下在线日志在重复使用之前必须归档。 2. Oracle 中 I/O 的 产生 I/O 包括了读、写两部分,先介绍 Oracle 中写操作的产生。 2.1. 写 介绍写操作之前,先简单的看下 Oracle 的物理结构:Oracle 的物理文件包括以下三种文件:控制文件(Control Files)、重做日志文件(Redo Log Files)、数据文件(datafiles)。而数据文件中,根据功能的不同,还可以 分为:系统数据文件、用户数据文件、临时空间文件和回滚段文件。另外,如果数据库的 Archive Log 模 式被激活,还存在归档日志文件。Oracle 的 I/O 产生,就是对这些文件的数据读、写操作。下面再详细看 下几种主要写操作的产生及其过程。 2.1.1. 控制文件 控制文件中记录了整个数据库的物理结构信息。同时控制文件还记录系统和各个数据文件的 SCN(System Change Number,关于 SCN 可以参见文章《Orac le SCN 机制详解》)信息,以用于数据恢复,因此数据文 件上的 SCN 变化后,Oracle 也会相应修改控制文件上的 SCN 信息。 2.1.2. Redo Log 在非直接写(Direct Write)的情况下,事务中的写操作都会产生 Redo Log,作为数据块异常关闭时的恢复 记录。同样,和写用户数据类似,Redo Log 也不会被直接写入 Redo Log 文件,而是先写入 Log Buffer 中。 Log Buffer 是一个可以循环重用的缓存区。LGWR 进程负责将 Log Buffer 中的记录写入 Redo Log File 中去。 一旦 Log Buffer 中的条目被写入了 Redo Log 文件中,就可以被重用了。 为了保证事务尽快获得 Log Buffer,LGWR 进程一般会尽快将 Log Buffer 中的数据写入 Redo Log 文件中去。 在以下几种情况下,LGWR 会将一个连续的 Log Buffer 写入 Redo Log 文件中去: A.当一个事务提交(COMMIT)时。 B.每 3 秒钟写一次 Log Buffer。 C.当 Log Buffer 满 1/3 时。 D.当 DBWn 进程将“脏”数据写入磁盘时。 第 - 4 - 页,共 - 54 - 页 2.1.3. 用户数据文 件 由于内存的读写效率比磁盘的读写效率高万倍,因此,为了降低 I/O wait,Orac le 会将数据 cache 在内存 (Buffer Cache,对 Buffer Cache 的详细介绍可以参见《Oracle 内存全面分析》)中,对数据的读写尽量在 内存中完成。当 Buffer Cache 中的数据缓存块被修改过了,它就被标记为“脏”数据。根据 LRU Least Recently Used)算法,如果一个数据块最近很少被使用,它就称为“冷”数据块。进程 DBWn(系统中可以存在多个 DBW 进程,n 为序号)负责将“冷”的 “脏”数据写入数据文件中去。DBWn

文档评论(0)

yaobanwd + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档