- 浏览: 1020140 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
Oracle性能调整是一个范围比较广且有点复杂的主题,普通DBA面对的最大的问题是从哪里开始以及该做些什么。你知道的所有信息可能是有人(一个用户)报告了一个关于应用程序或查询性能下降的问题,当你面对这样的问题时该从何下手呢?
Oracle的调整方法
对那些已经取得了Oracle 8i性能调整认证考试的人而言,有一个试验区域实验Oracle的调整方法,当Oracle 9i发布时Oracle强调了这个方法有所改动,这个方法从8i到9i/10g发生一些变化,两个方法都不完全一样,它们都有各自的优势和缺点,在Oracle 8i中,由下面的步骤组成:
1、调整业务规则
2、调整数据设计
3、调整应用程序设计
4、调整数据库逻辑结构
5、调整数据库操作
6、调整访问路径
7、调整内存分配
8、调整I/O和物理结构
9、调整资源连接
10、调整基础平台
Oracle 9i的基本原则性方法,原则即优先级顺序:
优先级描述
第一 清楚地定义问题,然后指定一个调整目标
第二 检查主机系统和搜集Oracle统计信息
第三 将识别的问题与Oracle 9i提供的通用数据库性能方法(版本1)/数据库性能计划(版本2)进行对比
第四 使用第二步搜集的统计信息获得一个在系统上可能发生了什么的大概设想
第五 标识所做的改动,然后实施那些改动
第六 确定是否符合第一步中确定的目标,如何符合就停止调整,如果还不符合就重复第五和第六步直到符
合调整目标
Oracle 10g R2性能调整指导认同所有Oracle性能改善方法的处理过程,步骤已经扩展了,但是总体来说还是保留了一些相同的地方。
1、执行下面的初始化标准检查:
a.从用户那里获取真实的反馈,确定性能设计范围和性能目标,以及将来的性能目标,这个过程对未来容量的规划很关键。
b.在性能好和差的时候,都要获取全套操作系统,数据库和从系统获取应用程序统计信息,如果这些不可用,就获取任何有用的信息,丢失统计信息与丢失犯罪证据类似:使得侦探工作更困难并且更浪费时间。
c.对所有涉及用户性能的机器进行操作系统健全检查,通过对操作系统的健全检查,你可以查看被完全利用的硬件和操作系统资源,列出所有过度使用的资源作为后面分析的症状,此外,检查所有硬件错误或进行诊断。
2、检查前十个Oracle常见错误,并确定这些是否可能成为真正的问题,把它们列出来作为后面分析的症状,因为它们代表了大多数可能的问题,ADDM自动检查并报告前十个问题中的九个。查看第6章“自动性能诊断”【http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14211/diagnsis.htm#g41683】和“Oracle系统中发现的前十个错误”【http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14211/technique.htm#i11221】
3、建立一个在系统上发生了什么的概念模型,使用症状作为提示理解是什么导致了性能问题,查看“一个性能概念模型的简单决策过程”【http://download-west.oracle.com/docs/cd/B19306_01/server.102/b14211/technique.htm#i11199】
4、计划一系列补救动作和预先考虑系统的工作情况,然后按顺序应用将使应用程序最大受益,ADDM产生的每个建议都包括了预期的受益分析,不幸的是,系统停机时可能会阻止这样一个严格的调查方法,如果同时应用了多个修改,那么要尝试确保它们是被隔离的,以便可以独立证明每个修改的影响。
5、确认所做的修改是否达到了预期的作用,并了解用户对性能的感受是否有所改善,另外,寻找更多的瓶颈,继续改进概念模型直到你对应用程序的理解更准确。
6、重复后面的三步直到达到性能目标或由于其他约束而变得不可能。
变化是问题的一部分
从一个自顶向下的构造方法到一个以原则为基础的“使它停止伤害”的方法是问题的一部分,搜集统计数据显得很重要因为你如何知道你已经对问题做了改进(或使问题更糟)?对其他方法,你仍然要保留两个最初的问题:我要寻找什么以及我如何使它变得更好?如果结构化方法使你头疼,那原则性方法只会添加混乱。
能够帮助初学者(不承诺:我远远还不够专家的资格)评估(配置、终端和调整)的调整项目清单:
·调整缓冲区高速缓存(Buffer Cache)
·调整重做日志缓冲区(Redo Log Buffer)
·调整共享池内存(Shared Pool Memory)
·优化数据存储器
·优化表空间
·调整Undo段
·检测锁争用
·SQL调整
这些调整措施使得Oracle RDBMS和实例从上到下都更漂亮了,本文剩下的部分将集中在SQL调整或更精密地预防慢速SQL被执行,这些不是同一件事吗?大概是吧,但是在开发方面一个通用的方法是编写执行得够好够块的语句,每条语句不用是最佳的,但是某些思想必须体现在代码中,你没有时间优化成百甚至上千的SQL语句,但同时你可以遵循一些指导方针,以避免常见的错误和不良的编码习惯。
有效避免问题查询的17条提示
这17条提示来源于Hassan Afyouni编写的“Oracle9i性能调整:优化数据库生产率”,这些提示为两个结果打下了坚固的基础:使SQL语句执行效率更佳和确定在这一点上无事可做(如:你已经为SQL语句做了你力所能及的努力,该继续另一个调整项目了)。
这17条提示就是:
1、避免笛卡尔结果
2、避免在大表上全表扫描
3、使用SQL标准和规范减少解析
4、缺少包含在where子句中列的索引
5、避免连接太多的表
6、监视V$session_longops检测长时间运行的操作
7、使用适当的提示
8、使用shared_cursor参数
9、使用基于规则的优化器(如果它比基于成本的优化器要更好的话)
10、避免不必要的排序
11、监视索引变暗(定期删除,必要时重建)
12、小心使用混合索引(不要重复列)
13、监视查询统计情况
14、为表和索引使用不同的表空间(作为一个通用规则,这虽然有点守旧,但主要目的是为了减少I/O争用)
15、在适当的时候使用分区表(和本地索引)(分区是一个额外的成本特性)
16、在where子句中使用直接量(使用绑定变量)
17、保存统计数据时常更新
这是一个相当全面、彻底、准确的列表,步骤9参考了基于规则的优化器的使用,可能引起一个Oracle已经认定作为一个将来的项目特性的依赖或相关性被反对,最后你不得不使用CBO来解决这个问题,因此现在你可能还要开始忘掉CBO,步骤14应该按照减少I/O争用的目标做一些改动而不只停留在它当前描述的为表和索引分配单独的表空间。
小结
本系列的下一篇文章,我们将查看一些这些提示中包含的步骤,例如:在许多网站上给出的关于如何改善SQL语句性能的建议通常都包括“使用绑定变量”,我相信许多人都有这样一个问题:“我如何正确地做好这件事?”实际上它相当简单,因为有很多有关如何使用这些提示的详细信息。
发表评论
-
enq: TX - row lock contention
2011-02-25 16:24 2391Article by Rampant Author Brian ... -
Oracle 9i在AIX上的性能调整 -- 内存篇
2011-01-19 23:29 1190内存访问的冲突出现在当进程申请的内存超过系统的物理内存总量时, ... -
包含IN子查询的SQL语句的优化
2010-12-09 11:10 6808当SQL语句中包含in语句时,有时候会极大的影响性能,我们可 ... -
Oracle中优化SQL语句执行的原则
2010-12-03 15:12 12751。已经检验的语句和已在共享池中的语句之间要完全一 ... -
详述逻辑读
2010-12-01 11:13 1274这篇实验讨论下数据的读写过程. 我们都知道,数据块是o ... -
相关重做的等待事件
2010-12-01 11:07 902晶晶实验十二 相关重 ... -
深度分析数据库的热点块问题(latch: cache buffers chains)
2010-11-28 07:35 4571热点块的定义 数据库 ... -
oracle 常见等待事件及处理方法
2009-12-10 17:39 1580我们可以通过视图v$session_wait来查看系统当前的等 ... -
Oracle常见等待事件介绍
2009-12-10 17:36 1265Oracle的等待事件是衡量Oracle运行状况的重要依据 ... -
Oracle隐藏索引和索引可用性
2009-09-03 10:16 1044在我参与过的许多商店系统开发中,我发现在生产系统中创建一个索引 ... -
ORACLE SQL性能优化 (下)
2009-08-20 16:38 103931. 强制索引失效如果两个或以上索引具有相同的等级,你可以强 ... -
利用Oracle执行计划机制提高查询性能
2009-07-27 00:17 1094消耗在准备利用Oracle执行计划机制提高查询性能新的SQL语 ... -
Oracle性能调整与优化(二)
2009-07-26 23:48 1131为了能取得圆满成功,我将涉及到一些预备步骤,它们将在查看发生了 ... -
Oracle数据库设计提升性能的五条法则
2009-07-26 23:12 1060众所周知,数据库设计的好坏直接关系到数据库运行的效率。根据笔者 ... -
Oracle性能调整的要点之SGA
2009-07-26 23:09 1089一、Shared pool tunning Shared p ... -
不要让临时表空间影响数据库性能
2009-07-21 16:49 1142在Oracle数据库中进行排 ... -
关于SGA设置的一点总结
2009-07-16 23:05 999本总结不针对特例,仅对服务器只存在OS + ORACLE 为例 ... -
如何优化数据库的性能
2009-07-16 22:49 22301、 硬件调整性能 最 ... -
oracle性能优化心得
2009-07-12 22:19 1284很多的时侯, 做Oracle DBA的我们,当应用治理员向我 ... -
分析数据库性能的SQL
2009-07-12 22:10 1008--用于查看哪些实例的哪些操作使用了大量的临时段 SELEC ...
相关推荐
"Oracle Database 11gR2性能调整与优化"与"Oracle Database 12cR2性能调整与优化"这两本书分别针对Oracle的不同版本,提供了深入的性能优化策略和技巧。 Oracle Database 11gR2性能调整主要涉及以下几个方面: 1. ...
除了上述两点,Oracle性能优化还包括索引的建立与管理,分区策略的运用,回滚段的优化,以及查询执行计划的控制等。索引能加速数据检索,但过度的索引会增加写操作的开销,需权衡利弊。分区策略可将大表分解,提高...
《Oracle性能优化绝版好书:高级OWI与ORACLE性能调整》这本书深入探讨了Oracle数据库性能优化的关键技术和策略,特别关注了Oracle Wait Interface (OWI)和性能调整的实践应用。OWI是Oracle数据库中用于监控和诊断...
Oracle Database 11gR2性能调整与优化
根据提供的信息,我们可以推断出这本名为“高级owi与oracle性能调整”的书籍主要讨论了高级owi技术以及Oracle数据库性能优化的相关内容。由于提供的部分页面信息仅包含联系方式,并没有具体的章节内容,因此以下将...
Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优 Oracle性能调优
Oracle 12C OCM(Oracle Certified Master)是Oracle公司为高级数据库管理员提供的一项专业认证,专注于Oracle数据库的性能优化。这个压缩包包含了与Oracle 12C OCM性能优化考试相关的教材,帮助考生深入理解和掌握...
在性能调整与优化方面,Oracle 11g R2提供了许多工具和技术,以帮助管理员和开发人员实现最佳的系统性能。 首先,Oracle的自动工作负载 repository (AWR) 是一个强大的性能监控工具。AWR收集关于数据库性能的数据,...
《Oracle Database 11gR2性能调整与优化》PDF版本下载
总之,《Oracle的性能调试与优化》是一本全面而深入探讨数据库性能调优的经典之作。无论是对于正在从事数据库开发和管理的专业人士,还是对数据库性能优化感兴趣的初学者而言,本书都极具参考价值。通过学习本书,...
最后,需要强调的是,Oracle数据库性能优化与故障诊断并不是一劳永逸的工作,而是一个持续的过程。数据库环境可能会随着业务需求的变化而发生变化,新的性能问题和故障也可能会随之出现。因此,DBA们必须持续关注和...
就是那本大名鼎鼎的《oracle9i性能调整与优化》,Richard.J.Niemiec著,清华大学出出版。一共4个包
总的来说,Oracle性能优化是一个涉及多方面的综合工程,需要数据库管理员具备深厚的理论知识和实践经验,通过对硬件、软件、数据结构、SQL语句、内存分配和I/O等各环节的精细化调整,才能确保数据库在高负载下依然...
Oracle性能调整与优化分析 Oracle数据库是大型的关系型数据库,目前广泛应用于电信、金融、政府、交通、能源等各大部门和企业,成为基于大数据访问的重要数据库平台。然而,随着Oracle数据库应用的普及,数据库...
Oracle数据库性能调整与SQL性能优化是数据库管理员和开发人员日常工作中不可或缺的部分。Oracle数据库系统以其高效、稳定和可扩展性闻名,但同时也需要通过精心的调整和优化来确保最佳性能。以下是一些关键的知识点...
根据提供的标题“高级owi与oracle性能调整”及描述“高级owi与oracle性能调整”,我们可以推断出这份文档主要探讨的是如何通过高级优化方法提升Oracle数据库的性能。虽然提供的具体内容并没有实质性的技术信息,但...