Oracle的性能优化系统篇.pptxVIP

  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的性能优化系统篇

Oracle性能优化 ;学习目标 本课程将介绍优化和调整Oracle数据库系统的一些相关命令和方法。 Oracle性能调整分成,对于Oralce系统内部环境的调整,以及对于程序、SQL等相关模式对象包括表、视图、序列、同义词、索引、触发器、存储过程等的调整。 本课程的侧重点是“对于Oralce系统的内部调整” 。;本课程内容安排;1. 数据库性能优化概述;(1)调整数据结构的设计。 (2)调整应用程序结构设计。 (3)调整数据库SQL语句。 (4)调整服务器内存分配。 (5)调整硬盘I/O,这一步是在信息系统开发之前完成的。 (6)调整操作系统参数。 本课程着重讲述其中的4、5、6,三个部分。;1.联机事务处理信息系统(OLTP) 这种类型的信息系统一般需要有大量的Insert、Update操作。OLTP系统需要保证数据库的并发性、可靠性和最终用户的速度,这类系统使用的Oracle数据库需要主要考虑下述因素或参数: (1)数据库回滚段是否足够? (2)是否需要建立Oracle数据库索引? (3)系统全局区(SGA)大小是否足够? (4)SQL语句是否高效?;2.数据仓库系统(Data Warehousing) 这种信息系统的主要任务是从Oracle的海量数据中进行查询,得到数据之间的某些规律。数据库管理员需要为这种类型的Oracle数据库着重考虑下述因素或参数: (1)是否采用B*-索引或者bitmap索引? (2)是否采用并行SQL查询以提高查询效率? (3)是否采用PL/SQL函数编写存储过程?;2. Oracle运行环境的优化;内存结构的调整主要是指Oracle数据库的系统全局区(SGA)的调整。SGA主要由三部分构成:共享池、数据缓冲区、日志缓冲区。 1.共享池 共享池由两部分构成:共享SQL区和数据字典缓冲区。共享SQL区是存放用户SQL命令的区域,数据字典缓冲区存放数据库运行的动态信息。;(1)数据库管理员通过执行下述语句,来查看共享SQL区的使用率。 select (sum(pins-reloads))/sum(pins) Lib Cache from v$librarycache; 共享SQL区的命中率应该在90%以上,否则需要增加共享池的大小。 (2)数据库管理员可以执行下述语句,查看数据字典缓冲区的使用率。 select (sum(gets-getmisses-usage-fixed))/sum(gets) Data dictionary cache from v$rowcache; 数据字典缓冲区的命中率也应该在90%以上,否则需要增加共享池的大小。 (3) 调整共享池的大小是通过修改shared_pool_size参数的大小。;2.数据缓冲区 数据库管理员可以通过下述语句,来查看数据库数据缓冲区的使用情况。 SELECT name,value FROM v$sysstat WHERE name IN (db block gets,consistent gets,physical reads); 根据查询出来的结果可以计算出数据缓冲区的使用命中率: 数据缓冲区的使用命中率=1 –( physical reads/(db block gets + consistent gets)) 这个命中率应该在90%以上,否则需要增加数据缓冲区的大小。 调整数据缓冲区的大小是通过修改db_cache_size参数的大小。 ;3.日志缓冲区 数据库管理员可以通过执行下述语句,查看日志缓冲区的使用情况。 SELECT name, value FROM v$sysstat WHERE name IN (redo entries,redo log space requests); 根据查询出的结果可以计算出日志缓冲区的申请失败率: 申请失败率 = redo log space requests / redo entries 申请失败率应该接近于0,否则说明日志缓冲区开设太小,需要增加Oracle数据库的日志缓冲区。 调整数据缓冲区的大小是通过修改 log_buffer 参数的大小。;4.开辟KEEP池,将使用频率高的小表和其对应的索引直接放入KEEP池,完全避免硬盘的读取。 首先设置设置DB_KEEP_CACHE_SIZE参数,从内存中开辟KEEP池。 调整相关表和索引的STORAGE参数,将其放入KEEP池: ALTER TABLE TABLE_Name STORAGE ( BUFFER_POOL KEEP); ALTER INDEX INDEX_Name STORAGE ( BUFFER_P

文档评论(0)

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

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

1亿VIP精品文档

相关文档