`
wzf7065
  • 浏览: 247592 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

oracle数据库调优方案

 
阅读更多

原文来源:http://blog.csdn.net/xionglang7/article/details/7327005

 

Oracle数据库服务器是整个系统的核心,它的性能高低直接影响整个系统的性能,为了调整Oracle数据库服务器的性能,主要从以下几个方面考虑

  ◆1、调整操作系统以适合Oracle数据库服务器运行 Oracle数据库服务器很大程度上依赖于运行服务器的操作系统,如果操作系统不能提供最好性能,那么无论如何调整,Oracle数据库服务器也无法发挥其应有的性能。

  1.1 为Oracle数据库服务器规划系统资源

  据已有计算机可用资源, 规划分配给Oracle服务器资源原则是:尽可能使Oracle服务器使用资源最大化,特别在Client/Server中尽量让服务器上所有资源都来运行Oracle服务。

  1.2 调整计算机系统中的内存配置

  多数操作系统都用虚存来模拟计算机上更大的内存,它实际上是硬盘上的一定的磁盘空间。当实际的内存空间 不能满足应用软件的要求时,操作系统就将用这部分的磁盘空间对内存中的信息进行页面替换,这将引起大量的磁盘I/O操作,使整个服务器的性能下降。为了避 免过多地使用虚存,应加大计算机的内存。

  1.3 为Oracle数据库服务器设置操作系统进程优先级

  不要在操作系统中调整Oracle进程的优先级,因为在Oracle数据库系统中,所有的后台和前台数据库服务器进程执行的是同等重要的工作,需要同等的优先级。所以在安装时,让所有的数据库服务器进程都使用缺省的优先级运行。

  ◆2、调整内存分配

  Oracle数据库服务器保留3个基本的内存高速缓存,分别对应3种不同类型的数据:库高速缓存,字典 高速缓存和缓冲区高速缓存。库高速缓存和字典高速缓存一起构成共享池,共享池再加上缓冲区高速缓存便构成了系统全程区(SGA)。SGA是对数据库数据进 行快速访问的一个系统全程区,若SGA本身需要频繁地进行释放、分配,则不能达到快速访问数据的目的,因此应把SGA放在主存中,不要放在虚拟内存中。内 存的调整主要是指调整组成SGA的内存结构的大小来提高系统性能,由于Oracle数据库服务器的内存结构需求与应用密切相关,所以内存结构的调整应在磁 盘I/O调整之前进行。

  2.1 库缓冲区的调整

  库缓冲区中包含私用和共享SQL和PL/SQL区,通过比较库缓冲区的命中率决定它的大小。要调整库缓 冲区,必须首先了解该库缓冲区的活动情况,库缓冲区的活动统计信息保留在动态性能表v$librarycache数据字典中,可通过查询该表来了解其活动 情况,以决定如何调整。Select sum(pins),sum(reloads) from v$librarycache; Pins列给出SQL语句,PL/SQL块及被访问对象定义的总次数;Reloads列给出SQL 和PL/SQL块的隐式分析或对象定义重装载时在库程序缓冲区中发生的错误。如果sum(pins)/sum(reloads) ≈0,则库缓冲区的命中率合适;若sum(pins)/sum(reloads)>1, 则需调整初始化参数 shared_pool_size来重新调整分配给共享池的内存量。

  2.2 数据字典缓冲区的调整

  数据字典缓冲区包含了有关数据库的结构、用户、实体信息。数据字典的命中率,对系统性能影响极大。数据 字典缓冲区的使用情况记录在动态性能表v$librarycache中,可通过查询该表来了解其活动情况,以决定如何调整。Select sum(gets),sum(getmisses) from v$rowcache; Gets列是对相应项请求次数的统计;Getmisses 列是引起缓冲区出错的数据的请求次数。对于频繁访问的数据字典缓冲区,sum(getmisses)/sum(gets)<10%~15%。若大于 此百分数,则应考虑增加数据字典缓冲区的容量,即需调整初始化参数shared_pool_size来重新调整分配给共享池的内存量。

  2.3 缓冲区高速缓存的调整

  用户进程所存取的所有数据都是经过缓冲区高速缓存来存取,所以该部分的命中率,对性能至关重要。缓冲区高速缓存的使用情况记录在动态性能表v$sysstat中,可通过查询该表来了解其活动情况,以决定如何调整。

  Select name,value from v$sysstat

  where name in ('dbblock gets','consistent gets','physical reads');

  dbblock gets和consistent gets的值是请求数据缓冲区中读的总次数。physical reads的值是请求数据时引起从盘中读文件的次数。从缓冲区高速缓存中读的可能性的高低称为缓冲区的命中率,计算公式:

  Hit Ratio=1-(physical reds/(dbblock gets+consistent gets))如果Hit Ratio<60%~70%,则应增大db_block_buffers的参数值。db_block_buffers可以调整分配给缓冲区高速缓存 的内存量,即db_block_buffers可设置分配缓冲区高速缓存的数据块的个数。缓冲区高速缓存的总字节数=db_block_buffers的 值*db_block_size的值。 db_block_size 的值表示数据块大小的字节数,可查询 v$parameter 表:select name,value from v$parameter where name='db_block_size'; 在修改了上述数据库的初始化参数以后,必须先关闭数据库,在重新启动数据库后才能使新的设置起作用。

  ◆3、调理磁盘 I/O

  磁盘的I/O速度对整个系统性能有重要影响。解决好磁盘I/O问题,可显著提高性能。影响磁盘I/O的性能的主要原因有磁盘竞争、I/O次数过多和数据块空间的分配管理。

  为Oracle数据库服务器创建新文件时,不论是表空间所用的数据文件还是数据事务登录所用的日志文 件,都应仔细考虑数据库服务器上的可用磁盘资源。如果服务器上有多个磁盘,则可将文件分散存储到各个可用磁盘上,减少对数据库的数据文件及事务日志文件的 竞争,从而有效地改善服务器的性能。对于不同的应用系统都有各自的数据集,应当创见不同的表空间分别存储各自应用系统的数据,并且尽可能的把表空间对应的 数据文件存放在不同的磁盘上,这种从物理上把每个应用系统的表空间分散存放的方法,可以排除两个应用系统竞争磁盘的可能性。数据文件、事务日志文件分别存 放在不同的磁盘上,这样事务处理执行的磁盘访问不妨碍对相应的事物日志登记的磁盘访问。如果有多个磁盘可用,将两个事物日志成员放在不同的磁盘驱动器上, 就可以消除日志文件可能产生的磁盘竞争。应把一个应用的表数据和索引数据分散存放不同表空间上,并且尽量把不同类型的表空间存放在不同磁盘上,这样就消除 了表数据和索引数据的磁盘竞争。

  ◆4、调整数据库服务器的回滚段

  回滚段是一个存储区域,数据库使用该存储区域存放曾经由一个事务更新或删除的行的原始数据值。如果用户 要回滚一个事务所做的改变,那么数据库就从回滚段中读回改变前的数据并使该事务影响的行改变为它们的原状态。回滚段控制着数据库处理事务的能力,因而在数 据库成功中起着关键性的作用,不管数据库的其它部分设计得多好,如果它设计得不合理,将会严重影响系统的性能。建立和调整回滚段的原则如下。

  4.1 分离回滚段

  分离回滚段是指单独为回滚段创建一个以上的表空间,使回滚段与数据字典、用户数据、索引等分离开来。由 于回滚段的写入与数据和索引的写入是并行进行的,因此将它分离出来可以减少I/O争用。如果回滚段与数据不分离,倘若要某个表空间脱机或撤消,那么在该表 空间中的各个回滚段没有全部脱机之前,不能将这个表空间脱机或撤消。而一旦该表空间不可用,则该表空间中的所有回滚段也不能使用,这将浪费所有分配的磁盘 空间。所以,独立回滚段可使数据库管理变得容易。回滚段的经常性收缩,使得表空间的自由块更容易形成碎片。分离回滚段可以减少数据库表空间的碎片产生。

  4.2 创建不同大小的回滚段群

  对于一些联机事物处理,他们一般是频繁地对少量数据进行修改,创建许多小的回滚段对之有利。每一个事物 的入口项只能限于一个回滚段,回滚段应该充分大以容纳一个完整的事物处理,因此对一些较大型事物,需要较大型的回滚段。极个别脱机处理事物会产生大量的回 滚信息,这时需要一个特大号的回滚段来处理。根据这些理论,在Oracle数据库服务器中针对上述3种事物处理创建三组:小事物组、较大事物组、特大事物 组等大小不同的回滚段群,并且将之分散到3个不同的表空间上,群内大小相同,应能满足该组事物处理的最大要求。

分享到:
评论

相关推荐

    oracle数据库调优配置

    以下将详细介绍这两种调优方案,并涉及相关的Oracle数据库调优知识点。 一、物理硬件与操作系统调优 1. CPU与内存:确保服务器拥有足够的CPU资源,合理分配核心数以平衡并发处理能力。内存大小应足够存储常用数据,...

    Oracle 性能调优的基本方案

    Oracle 性能调优的基本方案 Oracle 性能调优是数据库管理员和开发者非常关心的问题。为了确保数据库的高效运行,需要对 Oracle 性能进行调优。本文将对 Oracle 性能调优的基本方案进行概述,并介绍了该方案的八个...

    Oracle数据库查询调优

    ### Oracle数据库查询调优知识点详解 #### 一、概述 在Oracle数据库中,查询调优是提高系统性能的关键环节之一。随着数据量的增长和技术的进步,优化查询变得日益重要。本篇将详细介绍如何识别问题、收集数据、分析...

    oracle调优工具.rar

    Oracle数据库调优是确保系统高效运行的关键步骤,它涉及到数据库性能优化、SQL查询优化、内存管理、I/O优化等多个方面。本压缩包“oracle调优工具.rar”提供了一系列的资源,帮助用户理解和实践Oracle数据库调优。 ...

    基于AWR报告的安徽电信数据库调优研究.pdf

    此研究的创新之处在于首次将AWR报告应用于安徽电信的Oracle数据库调优实践,为同类问题提供参考。其实际应用价值在于,通过科学的方法和工具,能够有效地提升数据库系统的运行效率,保证服务质量和用户体验,同时...

    oracle 数据库性能调优

    ### Oracle数据库性能调优:深度解析与实践指南 在企业级应用中,Oracle数据库作为核心的数据存储和处理系统,其性能直接影响着业务的流畅性和效率。因此,掌握Oracle数据库的性能调优技巧,对于DBA(数据库管理员...

    Oracle数据库性能调优研究.pdf

    Oracle数据库性能调优是数据库管理的关键环节,旨在提高数据处理速度和系统响应时间,从而提升整体应用系统的效率。本文主要探讨了几个关键的调优策略。 首先,日志管理是数据库性能的重要因素。日志文件包含了...

    Oracle性能调优实践中的几点心得

    本文主要分享了Oracle DBA在实际工作中遇到性能问题时的一些解决策略,重点在于通过监控操作系统层面的指标来诊断Oracle数据库的性能瓶颈。 首先,针对IO问题,DBA可以通过系统工具如`sar`来检查CPU的用户使用率 `%...

    数据库调优方案

    Oracle 数据库广泛应用在社会的各个领域,特别是在Client/Server模式的应用,但是应用开发者往往碰到整个系统的性能随着数据量的增大显着下降的问题,为了解决这个问题,从以下几个方面:数据库服务器、网络I/O、...

    Oracle 性能调优

    5. **实施调优措施**:执行调优方案,并持续监控系统性能变化。 6. **评估调优效果**:对比调优前后的系统性能,验证调优措施的有效性,并根据实际情况进行必要的调整。 #### 四、Oracle性能调优的关键技术 - **...

    oracle 数据库sql调优.doc

    Oracle数据库的SQL调优是一个复杂但至关重要的任务。通过对SQL查询的深入理解和合理优化,不仅可以大幅提升应用系统的性能,还能有效利用系统资源。遵循上述基本原则,结合具体的业务场景和技术需求进行细致调整,将...

    Oracle数据库资料大全

    Oracle数据库是全球最广泛使用的商业关系型数据库管理系统之一,由美国甲骨文公司(Oracle Corporation)开发和维护。Oracle数据库以其高效、稳定和强大的功能在金融、电信、医疗、政府等多个领域得到广泛应用。本...

    Oracle调优工具使用研究.pdf

    Oracle数据库调优是确保系统高效运行的关键环节,而Oracle提供了多种工具来帮助DBA进行这一工作。本篇文章主要探讨了两种常用的调优工具——AWR(Automatic Workload Repository)和MYTUN。 AWR是Oracle 10g引入的一...

    AIX_tuning_for_Oracle_DB.pdf

    综上所述,文档提供了详细的AIX环境下Oracle数据库调优方案,不仅涉及硬件层面(如CPU和内存),还涵盖操作系统的内核参数和I/O配置优化。对于IT专业人员而言,这些知识点能帮助他们更好地理解和执行AIX平台上的...

    Oracle数据库应用管理解决方案.rar

    本解决方案主要关注Oracle数据库的应用管理,旨在提供一套全面、高效且稳定的管理策略,确保数据库系统的稳定运行,优化性能,以及保障数据的安全性。 首先,Oracle数据库的安装与配置是基础。在安装过程中,需要...

    ORACLE数据库性能调优方法及应用研究.pdf

    Oracle数据库性能调优是针对数据库系统的优化过程,旨在提高数据处理速度、降低响应时间、提升系统吞吐量,以满足日益增长的业务需求。在江苏省社会法人信用基础数据库的案例中,性能低下主要由以下几个因素引起: ...

    oracle数据库基础知识

    Oracle数据库系统由Oracle公司开发,提供了一整套解决方案,包括数据库服务器、数据存储、备份恢复、安全管理等。其核心功能是存储、管理和检索数据,支持多用户并发访问,并具备高度的可扩展性和可靠性。 二、...

    oracle数据库高级技术交流- 性能调优

    【Oracle数据库性能调优】 Oracle数据库的性能调优是一个复杂且关键的过程,涉及到多个层面的分析和优化。本文主要探讨了数据库性能优化的基本原理、交易系统与查询统计系统的差异、SQL性能优化以及全表扫描的影响...

Global site tag (gtag.js) - Google Analytics