`

Oracle9i中的性能优化方法和工具学习(一)

阅读更多

Oracle9i数据库优化的方法和目标

一.性能优化
    1.为了优化Oracle9i数据库的性能,应该
         a.定义问题
             a) 为了找出Oracle数据库系统中的潜在问题,需要定义系统的性能目标,并对最佳性能所需的资源有一定了解。可以通过对当前的统计信息与已确立的最优性能的基线统计信息进行比较来发现潜在的问题。
             b) 在确定系统使用期的峰值以后,可以安装监视工来为那些时期收集性能数据。收集到的基准数据应包含数据库、应用程序、操作系统、磁盘I/O以及网络的统计、
             c) 如果用户报告了一个系统性能问题,需要确定问题所在的范围、问题发生过程的时间帧以及造成问题的组件。
         b.检查应用程序设计
             a)通过检查运行在系统上出现性能问题的应用程序,总能够实现性能的改进。
             b) 要检查应用程序的设计规划,你应该分析模块和数据库中执行的SQL语句的性能。
         c.检查数据库软件和系统
            a) 当对指定资源的需求超出了它本身可用的资源时,会导致必要的会话等待,这时就会出现瓶颈。因此,要优化Oracle服务器性能,首先应该检查Oracle数据库软件中的瓶颈,然后也应该通过制定数据配置的计划来优化恢复次数和数据问。
            b) 在Oracle中,可以使用动态性能视图来得到造成瓶颈的资源相关信息,这里动态性能视图包括V$SYSTEM_EVENT和V$SESSION_WAIT两个视图。当然,你也可以使用STATSPACK报告或者使用Oracle企业管理器来查找瓶颈或者潜在的瓶颈。
            c) 如果已经证实Oracle数据库是正确配置的,但是主机却仍然出现资源缺乏的情况,这时你可以加入处理器内存、磁盘I/O以及网络带宽等机器资源。
    2.为了确保最佳性能,应该在以下阶段中取特定的优化步骤:
        a.开发阶段
            在开发过程中,早期的改进可以防止以后的问题。
            当开发新的系统时,应该首先优化设计,接下来是应用程序,然后是内存。在完成输入/输出(I/O)的优化后,你需要优化争用。最后一步是优化操作系统。
            在完成上述这些优化步骤后,如果仍没有达到优化目标,应该重复上面的过程。
            
         b.产品阶段
             通过优化产品系统,可以在问题暴露给用户之前把它们解决。
             首先,需要使用STATSPACK报告或者Oracle企业管理器这样的工具来查找像等待事件这样明显的瓶颈或潜在的瓶颈。
             在确定所有等待事件的原因后,需要解决这些问题,如改变系统全局区(SGA)组件的大小。要检验这些改变是否已经提高了系统的性能,可以再次运行程序,然后使用同一工具来查找第一步中的瓶颈。
             如果仍没有达到优化目标,重复上面的过程。
             
 
二.优化过程
    1.为了避免性能问题,最好的优化方法是仔细地对系统和应用程序进行设计。
         当然,还应该定期的监视数据库以检测哪些影响性能和需要额外实例优化的问题。
    2.可以将优化目标形式化为服务级别协议。如协议可能声明:一个进程需要在一个许可的时间段内完成。
         在Oracle9i中,优化的首要目标是减少用户从查询中接收结果、更新数据库表或者生成报表所花费的时间,可以用来衡量为达到该目标所取得的进展的因素有:响应时间、吞吐量和负荷、恢复时间。
    3.除了提高响应时间以外,还应该尽量减少或者消除等待和瓶颈。另外,还应提高数据库的可用性,例如备份和恢复过程也许会妨碍数据库的可用性。因此,计划在系统使用较低的时期执行备份和恢复任务是非常重要的。
    4.因为过多的内存分页和交换对数据库和操作系统的性能有负面影响,因此内存使用是一个有效的优化方法。内存使用也会影响数据库的命中百分比。由于增长的实例命中百分比是一个可以衡量的优化目标,因此可以使用它作为基线来判断随着时间的流逝,性能是否在提高还是降低。
    5.收集和解释Oracle统计信息是优化过程非常重要的部分,因为这样可以对可测量的性能标准进行评估。当实例出现性能问题时,需要收集那个时期的所有统计信息。这使能够将当前数据与先前取得的基线数据进行比较。但必须保证要比较的统计信息是系统运行同等工作负载时的统计信息。

三.常见的优化问题
    1.常见的优化问题包括:
        a.低劣的会话管理
            低劣的会话管理通常与应用层相关。由于低劣的会话管理会使系统变慢,导致用户不得不等待一段很长的时间。同时它还会导致扩展能力受到限制
        b.低劣的游标使用
            低劣的游标使用通常由程序设计错误产生的,通常会导致扩展能力受到限制。举一个低游标使用的例子:只有Where语句不同的多条SQL语句将导致形成较小的共享池。在这种情况下你应该使用绑定变量。
            或者,如果将CURSOR_SHARING参数设置为SIMILAR或FORCE,相似的SQL语句会共享同一个单独的游标。
        c.低劣的数据库设计
            低劣的数据库设计通常由于过多的规范化所造成的。这种情况会要求你使用多个连接而不是单一的表来生成输出。
    2.在数据库安全性度量和性能之间,是存在一个平衡。一般来说,数据越安全,它就可能运行得越慢。
    3.要在性能优化目标和保护数据库的需要的安全之间进行平衡,首先需要确定所需的性能级别,如数据库系统每秒必须支持事务数量。然后再实施能够满足所需性能级别的保护措施。
    4.负面影响数据库性能的因素主要包括
        a.多控制文件
        b.组中的多个重做日志成员
        c.块检查数量
        d.并发用户和并发事务的数量
        e.频繁检查点
        f.备份数据文件
        g.归档

四.小结
    1.要优系统性能,首先需要设定性能目标,可以使用该性能目标来定义性能问题。然后需要检查数据库软件和系统的瓶颈及其他问题。如果已排除数据库配置原因所导致的问题,而问题还存在,需要检查应用程序设计。
    2.在Oracle9i中,最重要的性能优化步骤是仔细地进行系统和应用程序的设计。优化目标包括提高响应时间以减少用户等待时间、消除瓶颈、提高数据库存的可用性、提高内存和实例命中占比。
    3.常见的优化问题包括:低劣的会话管理、低劣的游标管理和数据库的关系设计。需要在数据库保护的需求和性能优化的目标之间进行平衡。
  • 大小: 12.3 KB
  • 大小: 10.3 KB
分享到:
评论

相关推荐

    Oracle9i数据库系统优化与调整.pdf

    第6章 性能优化基础知识 第7章 系统优化方法 第二部分 ORACLE应用系统设计优化 第8章ORACLE数据库系统优化安装 第9章 项目分析、设计与管理 第10章 数据库结构设计要点 第三部分 ORACLE应用系统开发优化 第12...

    ORACLE9i_优化设计与系统调整

    §5.1 理解ORACLE性能优化 82 §5.1.1 响应时间与吞吐量的折衷 82 §5.1.2 临界资源 83 §5.1.3 过度请求的影响 83 §5.1.4 调整以解决问题 83 §5.2 优化的执行者 84 §5.3 设置性能目标 84 第7章 系统优化方法 85 ...

    Oracle 9i Java程序设计——使用PL/SQL和Java的解决方案

    具体介绍了Java消息处理和图像生成工具,协同使用PL/SQL和Java的方法,操作系统资源的使用,优化Java应用程序的性能,SQL在PL/SQL和Java中的执行基准,Oracle JDBC和 SQLJ等内容。给PL/SQL程序员提供了Java教程。...

    oracle9i oracle11g oracle10g 性能调优 基础学习 视频地址

    1z0-033-13 关于自动段空间管理 ext 与oracle 空间使用 percent oracle块参数 行迁移问题 什么时间进行索引重组 优化性能 13 1z0-033-15 讨论不同类型索引 索引组织表(簇化表) OLTP 有什么性质要求 13 1z0-033-18-...

    Oracle 9i Java程序设计 使用PL SQL和Java的解决方法

    具体介绍了Java消息处理和图像生成工具,协同使用PL/SQL和Java的方法,操作系统资源的使用,优化Java应用程序的性能,SQL在PL/SQL和Java中的执行基准,Oracle JDBC和 SQLJ等内容。给PL/SQL程序员提供了Java教程。...

    Oracle 9i中文版基础培训教程

    文档,其中数据利器、编程进阶和性能优化是完整的书稿内容,其余各章给出了内容要点、插图和表格,读者可使用Acrobat Reader等电子阅读工具浏览。 本书可作为Oracle数据库技术专业培训的教材,也适合初学者自学或...

    oracle 9i中文版基础培训教程

    文档,其中数据利器、编程进阶和性能优化是完整的书稿内容,其余各章给出了内容要点、插图和表格,读者可使用Acrobat Reader等电子阅读工具浏览。 本书可作为Oracle9i数据库技术专业培训的教材,也适合初学者自学或...

    Oracle 9i中文版基础培训教程.part1

    文档,其中数据利器、编程进阶和性能优化是完整的书稿内容,其余各章给出了内容要点、插图和表格,读者可使用Acrobat Reader等电子阅读工具浏览。 本书可作为Oracle9i数据库技术专业培训的教材,也适合初学者自学或...

    Oracle 9i中文版基础培训教程.part2

    文档,其中数据利器、编程进阶和性能优化是完整的书稿内容,其余各章给出了内容要点、插图和表格,读者可使用Acrobat Reader等电子阅读工具浏览。 本书可作为Oracle9i数据库技术专业培训的教材,也适合初学者自学或...

    Oracle 9i中文版基础

    作者制作了与各章内容一一对应的PDF电子文档,其中数据利器、编程进阶和性能优化是完整的书稿内容,其余各章给出了内容要点、插图和表格,读者可使用Acrobat Reader等电子阅读工具浏览。全书分为从零开始、构建环境...

    高性能动态SQL Oracle数据安全 Oracle 数据库的聚簇技术 等等

    oracle9i小结 46 Oracle 数据库的聚簇技术 61 数据库、服务名、实例 63 Oracle内存结构 64 sys用户和system用户 67 Oracle SQL语句 67 GROUPING SETS分组 74 Oracle外部程序触发 75 Oracle数据库的备份与恢复 77 ...

Global site tag (gtag.js) - Google Analytics