oracle实例优化内容.doc

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

实例优化内容 一个好的优化方法应该包括以下过程: 基准知识(数据); 建立性能目标; 所作修改的组织和跟踪技术,更改控制机制; 这些修改的效果评估; 性能目标和目前性能状况的比较; 重复上述工作直到到达目标; 上述的优化方法可以用来评价一种优化方法的好坏; 二叉优化方法 有一种优化方法,名为二叉优化方法。这种方法分别从OS和Oracle两个分叉来进行优化工作,这种方法明显体现的是事件驱动的优化思想而不是高速缓存命中率驱动思想。 具体步骤如下: 设立合理的性能优化目标; 测量并且记录现在的性能状况; 确认现在oracle的性能瓶颈(oracle在等待什么,哪些sql语句是这个等待事件的部分 确定当前的OS瓶颈; 优化需要优化的成分(应用程序,数据库,I/O系统,争用,OS等) 跟踪并实施更改控制过程; 测量和记录现在的性能状况; 重复3到7的步骤直到达到性能调优的目标; 这个方法围绕着等待事件来进行优化,二叉方法的调优能够比较好的帮助我们完成调优, 二叉调优方法不只是专注于高速缓存命中率的性能调优上,而是更多的关注等待事件,事实上,我们一般应该是会这样考虑,在数据库进行移植以后,经常会产生性能上的问题,在高速缓存命中率十分高的情况下,我们还是可能需要等待很长的执行时间。所以我们应该从与等待事件相关的视图上来考虑解决问题的方法。 等待事件是Oracle核心代码的一个命名的部分。等待事件的概念是在Oracle7.0.12中引入的,大致有100多个等待事件。在Oracle8.0中这个数目增加到了大约150个, Oracle8i中大约有200个事件,在Oracle9.2中有263个。 有两类等待事件:即空闲(idle)等待事件和非空闲(non-idle)等待事件。空闲等待事件指Oracle正等待某种工作。某些常见的空闲等待事件有客户机消息(Client Message)、NULL事件(NULL event)、来自客户机的SQL*Net消息等。 非空闲等待事件专门正对Oracle的活动。一下常见的非空闲等待事件如缓冲区忙等待(buffer busy waits)、数据库文件离限读取(db file scattered read)、排队等。 有几个主要的v$统计表显示系统的各个方面的等待事件: v$waitstat 显示系统的主要的等待时间的 v$system_event??系统各个事件的等待情况, 我一般从这个表入手查看系统的等待 v$session_event??某个具体session的等待事件的统计信息 v$event_name? ? 与v$session_event连接显示每个事件的具体名称. v$session_wait? ? 当前的系统session具体在等待什么 在知道某个session有很严重的等待事件的时候,可以通过设置10046的事件跟踪那个session内的具体的等待信息. dbms_support.start_trace_in_session(sid,serial#,waits=true,binds=true); dbms_support.stop_trace_in_session(sid,serial#); 二叉调优优化方法的基本步骤: 1 ) 设置一个合理的性能优化目标 必须和用户或客户达成一个可描述并且合理的性能优化目标,这个目标必须是可度量和可获得的。 2 ) 测量和备案当前的性能参数 我们必须在出现影响性能的时候收集那些有用的信息。不要在实例一启动就忙着收集那些统计数据,而且收集数据必须要经过一段合适的时间。 推荐的方法是在数据库高峰时期,对数据库进行长度为15分钟左右的数据采集,需要采集若干个。 可以通过执行Running utlbstat.sql and utlestat.sql这两个脚本来得到数据库的快照。 在oracle8.1.6以上的版本,提供了一个STATSPARK工具包,可以用来收集一些相关信息,并可以把他们存储起来。 3) 找出当前oracle执行的瓶颈 我们除了可以从report.txt和STATSPARK得到数据,我们还可以从以下三个表中得到oracle的信息:V$SYSTEM_EVENT, V$SESSION_EVENT, 和V$SESSION_WAIT. 视图V$SYSTEM_EVENT提供了整个oracle系统的事件视图。 视图V$SESSION_EVENT在会话级上提供和V$SYSTEM_EVENT一样的功能,但是它提供会话的信息,包括SID等。 视图V$SESSION_WAIT则在更低的层次上提供每个事件的信息,而且是那些会话级别上的

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档