系统探查与优化建议报告.pptx

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

2012-11; 截至目前为止,业务追踪系统探查到问题,总结如下: 1、分区问题 2、索引问题 3、对象统计分析问题 4、业务开发问题 5、ORACLE问题 6、硬件问题 7、数据监控问题 ;分区问题: 1、分区建立的不合理,没有从系统和业务的角度进行建立。 2、对于历史数据没有做过处理,导致每次查询数据都会扫描这些数据,产生大量的IO。 3、存在许多应该建立分区的大表,没有建立分区。 4、没有分区索引;解决方案 1、统计需要建立的分区表,建立分区,超过1.5G的表 2、探查整理业务逻辑,从业务和开发的角度进行建立分区表;或者调整开发程序逻辑,尽量保证DML操作只访问指定的分区。 3、整理过期的数据,做好离线备份,进行历史数据清理,如:2010年之前的数据。 4、尽量保证业务查询不跨区,如果是不能保证跨区,则根据业务情况建立组合分区 5、由于ORACLE版本的问题,对于目前系统尽量不要做HASH分区 6、建立本地索引和全局索引 ;索引问题 1、探查业务逻辑SQL,有许多都是全表扫描。说明没有建立合理的索引 2、有些索引已经很久没有进行对象分析导致错误的执行计划。 3、对于开发没有从业务开发角度进行构建索引的战略方案 4、有些表索引太多而有效的太少,导致占用了大量的cpu、io的资源 ;解决方案、 索引重构策略步骤 1、根据大中型表全面搜集表的读取类型 2、根据选定的对象进行数据的离散程度探查 3、为特殊读取的数据类型选定索引 4、根据业务特定的条件建立组合索引和序列的选择 5、验证和测试 其他建议: 1、索引需要定期重建,以减少失效的索引和碎片。 ;对象统计分析的问题 1、对象统计信息混乱,对于同一对象会存在多条统计信息 2、对象统计信息过旧,导致错误的执行计划从而使程序执行慢 3、对于分区表好多只存在分区的统计信息而没有全局的统计信息,这也是导致程序慢的原因 4、部分常用的索引的索引没有统计信息。;解决方案 构建策略 首先清理过旧和无效对象统计分析 1、根据业务分析出哪些数据表数据变化高中低。 2、根据数据变化进行设定表分析包百分比、并行度 3、对于分区表要根据业务单独设定分析的粒度 4、根据业务数据探查分析,进行列值和索引的直方图分析;业务开发问题 1、根据目前业务sql探查,许多ETL过程已经非常大,一般的业务加工逻辑已经有10多页,而且经历至少4、5个版本的需求修改。 2、业务需求开发只是建立的功能上的开发,而没有站在系统的角度开发,导致功能添加上了,但是整理的业务处理效率下降了,这也是导致速度急剧下降的原因。 3、加工处理中有的临时表数据量过大,并且多次被引用,而且对于临时表的策略是没有建索引,这也是导致速度随之业务发展速度慢的原因;解决方案 1、通过分析业务对象逻辑,查出问题SQL,拆解sql加工逻辑。 拆解逻辑原则是:小SQL,大逻辑 2、建立业务功能变更和添加的业务加工策略,使其在不影响以前业务加工的基础上进行新的SQL的加工,这样做的好处就是保证以前的加工逻辑和效率没有问题,更好定位现在的系统慢的原因 3、对于系统内部加工的临时表要做定期的整理和历史数据的清理。 4、对于经常被引用的临时表,建立合适索引和对象统计分析策略 5、 在加工数据的时候可以采用rowid字段值进行数据的获取,可以建立唯一性索引,ROWID包含了表中记录的物理位置信息。可以采用基于ROWID的访问方式情况提高访问表的效率, 因此那些基于索引列的查询就可以得到性能的提高。 6、尽量使用局部范围扫描,在业务开发时候,尽量多的采用关键性的过滤条件减少数据扫描范围。 ;解决方案 7、对于经常进行delete操作的表,要定期进行批量降低高水位线。 8、对于统计分析型的系统,应该尽量少的用索引的hint,尽量通过对象分析CBO方式的执行计划。 9、对于大表尽量少用DISTINCT ,可以个EXISTS 进行替换 ;ORACLE系统优化 此优化依据ORACLE AWR ,通过报告探查以及SQL探查、业务分析得出: 1、加大PGA的大小,建议:PGA=14G 2、启动分区和大表的压缩属性,原则:数据变化量小,但数据总体量大的表。 3、建立ORACLE子分区,进行系统的再优化。 4、降低系统并行,原则:依据目前系统CPU和业务调度并行启动顺序 ;12;13;解决方案 1、目前的硬件环境是IBM P6 570,可以支持16颗cpu,目前我们的环境只安装了8颗cpu,所以可以再次扩展8颗 2、目前硬件环境中,我们的内存有32G,而数据用了24G,用了系统整体内存的80%左右,需要扩展内存,建议扩展到64G或者128G,可以有效减少IO 3、IO存在过载的情况,建议采用oracle asm存储的方式来分散io,减少系统维护量 ;

文档评论(0)

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

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

1亿VIP精品文档

相关文档