网站大量收购独家精品文档,联系QQ:2885784924

Oracle 系统优化步骤及方法.doc

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

Oracle 系统优化步骤及方法 Oracle 系统优化的步骤和方法 1、优化前提 应用系统方案制定准确,对应用系统运行环境分析合理、正确,在数据库服务器性能、存储空间、网络带宽等方面的配置能够达到系统运行要求。 2、优化目标 响应时间和吞吐量平衡 临界资源 2.1 响应时间和吞吐量平衡 根据应用类型的不同,性能优化的目标不同: 在线事务处理系统(OLTP)把吞吐量定义为性能指标; 决策支持系统(DSS)把响应时间定义为性能指标。 响应时间 响应时间=服务时间+等待时间 系统吞吐量 系统吞吐量指在给定的时间内所完成的工作量。有以下两种技术: 以相同的资源来完成更多的工作(减少服务时间); 通过减少整个响应时间来更快完成工作。 等待时间 当竞争增强的时候,某个任务的服务时间也许保持不变,但它的等待时间将增长。 我们开发的系统一般为OLTP和DSS的复合系统,侧重于OLTP,在硬件允许的情况下最好能够将运行数据库、分析数据库分离。 2.2 临界资源 诸如 CPU、内存、I/O容量、网络带宽等资源,都是减少时间的关键因素。性能好坏取决于以下因素: 可用资源的数量 需要该资源的客户方的数目 客户方等待资源所消耗的时间 客户保持资源的时间长短 随着请求单元的增加,服务时间也增加。为了处理这种情形,用户可以选择: 通过限制请求的速率,从而维护可接受响应时间 还可通过增加资源数目,如CPU和硬盘(增加资源的前提是应用系统设计良好,并且已经做了充分的优化) 3、优化阶段 从实际做的项目过程来看,除了系统安装优化外,系统优化往往都是在系统实施、运行时才考虑,其实到这阶段做系统优化的局限性比较大,因为系统架构设计都成型、固化,大幅度调整设计的代价非常昂贵,一般只能在局部领域做优化,只能通过重新分配内存或优化I/O来或多或少地提高性能,实际上优化应该贯穿系统设计、开发、安装、测试、运行整个过程。 3.1 设计阶段 为了达到最佳的效果,优化工作应当从设计阶段进行,而不是在系统实施后进行。 在数据库设计阶段,个人认为需要注意如下几个方面: 业务对象不能建立在系统表空间; 索引表空间和业务表空间分开; 将LOB类型的字段和其它的类型分开; 根据应用系统功能确定是否要采用冗余字段; 正确的主键字段的选择,建议采用数字,不推荐使用复合主键; 3.2 开发、测试阶段 在开发实现阶段,个人认为需要注意如下几个方面: 执行sql使用变量绑定的方式,尽可能的保留在共享内存中,提高sql命中率; 多表关联查询时采用有效的连接顺序; 尽可能的降低客户端和服务器的网络数据交互,某个业务功能点需要频繁和数据库交互的,建议采用存储过程、临时表实现; 根据查询条件建立必要的索引,查询条件中使用oracle函数建立相对应的函数索引,数据值范围较小的采用位图索引 多张表关联查询时,有时可采用先查询符合条件对应的表中关键字,然后通过关键字再查询对应表中相关信息; 频繁访问,较少更新的数据量较小的表信息可采用缓存的方式; 在实现批量更新、插入时,要采用jdbc批量执行方法,并且调整对应的fetchsize参数。 在测试阶段,应该模拟实际运行环境,测试出相关性能较差的功能点。 因为在设计、开发阶段往往因为并发用户少、数据量小,很多性能问题显现不出来,如果软件测试充分,很多性能问题都可以显现出来,现在有很多优秀的软件测试工具,如LoadRunner、Robert在做压力测试方面都比较方便、优秀。 尽量将系统因程序设计、编码不当导致的性能问题暴露在测试阶段。 3.3 安装阶段 一般在安装生产数据库时,我们根据系统最早的规划,集合软、硬件环境,需要调整操作系统以及数据库参数, 3.3.1操作系统交换区 交换区是Oracle的一项基本的要求。可以根据Oracle的发行要求来确定。一般交换区大小的要求是该服务器内存的2倍至4倍之间,建议是内存的4倍 3.3.2操作系统内核参数 shmmax 共享内存段,建议设大点, 达到最大SGA shmmin 最小的共享内存段. shmmni 共享内存标志符的数量. shmseg 一个进程可分配的最大内存段数. shmall 最大可允许的内存数,比SGA还要大. semmns 信号量,跟ORACLE的PROCESS数有关. semmsl 一个信号量中最大的信号量数. 3.3.3 oracle 文件设置 当服务器平台已完成操作

文档评论(0)

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

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

1亿VIP精品文档

相关文档