oracle数据库高级技术培训-性能优化

oracle数据库高级技术培训-性能优化

ID:11457453

大小:478.50 KB

页数:35页

时间:2018-07-12

oracle数据库高级技术培训-性能优化_第1页
oracle数据库高级技术培训-性能优化_第2页
oracle数据库高级技术培训-性能优化_第3页
oracle数据库高级技术培训-性能优化_第4页
oracle数据库高级技术培训-性能优化_第5页
资源描述:

《oracle数据库高级技术培训-性能优化》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Oracle数据库高级技术培训培训目的和内容对象:主要系统设计、应用开发和技术支持人员主要内容:针对大型IT系统的设计、开发和维护工作,介绍:Oracle性能优化Oracle数据库性能优化主要内容数据库性能优化原理OracleSQL性能优化交易系统数据库应用分析全表扫描误区调系统参数–“你调了哪些参数?”系统管理员、DBA不是魔术师。调参数是必要条件,但不是充分条件数据库性能主要是系统问题,是系统管理员工作,与软件开发人员关系不大。性能问题与所有人相关。数据库性能主要在系统上线,压力增加之后再进行考虑。开发阶段无需太多考虑。性能问题与软件

2、工程所有时间周期相关。误区“告诉我如何把SQL语句改一改,能执行得更快点。”性能与语法没有直接关联。多表连接性能太差,应该通过应用分步骤做。请记住,我们用的是关系数据库。CPU利用率越低越好,CPU利用率高我就紧张开了十个门,我们都走一个门,吞吐量高吗?我的数据处理都在内存完成,没有什么磁盘I/O,应该不会再有性能问题?在内存做,同样会消耗CPU资源。一定要深入了解各种事件、Latch、缓冲池的具体情况这些都是表象,不是原因。数据库优化的过程化效益设计开发上线设计和开发阶段的优化–80%以上时间代价设计阶段的优化工作业务规则的优化设计数据

3、库体系结构的优化设计数据库逻辑结构设计数据库物理结构设计应用系统的设计开发阶段的优化工作合理的索引策略合理的访问路径优化SQL语句的分析数充分使用PL/SQL减少锁冲突产品阶段的优化工作内存和CPU的优化和调整磁盘I/O和物理结构的设计和调整系统资源竞争的监测和调整操作系统平台的优化20/80定律应用设计开发--80%系统参数设置--20%80%的性能问题是由20%的应用导致的80%的性能问题可以由20%的优化技术所解决上线后的优化过程(自底向上)检查系统的利用率检查等待事件检查物理I/O确定范围–系统级,模块级,用户级?确定最消耗资源的

4、SQLSTATSPACK报告TopSessionsinOEM分析执行计划explainplan分析访问的对象(size/cardinality)分析连接、访问方式……找出相关问题确定解决方案测试解决方案生产环境实施解决方案分析结果交易系统和查询统计系统交易系统主要特征:日常业务操作,尤其是包含大量前台操作优先级最高,要求反应速度非常高并发访问量非常大单笔事务的资源消耗小CURSOR问题主要是插入和修改操作(DML)交易系统调试目标高可用性相应速度高并发性可恢复性交易系统主要适用技术预先分配空间(使用uniform而不是autoalloca

5、tion)尽量使用BIND变量,提高语句的共享性CURSOR_SHARING参数设置为SIMILAR/FORCE不采用并行处理技术分区技术物化视图技术普通B*树索引访问方式主要是按索引进行操作索引不要太多定期重建索引多表连接主要采用嵌套-循环方式(Nested-Loop)数据仓库系统主要特征单笔事务的资源消耗大大规模数据的查询并发量不高后台操作要求速度高有一定的周期性。例如按月产生会计报表主要是大量查询操作数据仓库系统主要适用技术索引多,除普通B*树索引外,还有Bitmap和BitmapJoin索引多表连接主要采用HASH连接和排序-匹配

6、方式(Sort-Merge)定期进行统计信息的采集不使用BIND变量,保证语句执行路径的最优化采用并行处理技术分区技术物化视图技术差异生产系统查询系统索引类型B*索引Bitmap、BitmapJoin索引索引量适量多访问方式按索引访问全表扫描连接方式Nested_loopHashJoinBIND变量使用或强制使用不使用并行技术不使用使用分区技术使用,但目标不同使用,但目标不同物化视图使用少量使用大量使用全表扫描什么叫全表扫描?(Fulltablescan)全表扫描问题简单吗?有的原因简单有的原因很复杂全表扫描的危害大量吞噬硬件尤其是I/O

7、资源全表扫描语句非全表扫描语句响应速度00:06:10.0700:00:07.06内存消耗3,917M0.9MI/O消耗4,411M2.5M全表扫描的危害被迫在硬件上进行大量投入降低系统的使用寿命导致技术运用的复杂化当前表,历史表?大业务表按年度分别设计表历史数据迁移?生产机、查询机?导致其它相关联的系统问题全表扫描看似简单,其实后患无穷,是侵蚀整个系统健康的毒瘤!全表扫描的原因1:缺乏索引最简单因素:就是缺乏相关约束条件字段的索引。解决步骤:按消耗资源的高低定位有问题的SQL语句在这些SQL语句的执行路径中,分析全表扫描的表在SQL语句

8、中分析该表的约束条件字段检查各个约束条件字段的索引是否存在选择可选性最高的字段建立索引评估效果全表扫描原因2:索引被抑止在字段前增加了函数to_char(DJ_SZ.JDRQ,‘YYYY.MM

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。